- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
如何恢复到默认的 DNS 服务器设置? DNS异常的常见原因及解决方案 如何使用Xshell部署项目? 运维工程师必备8个高效工具,极大提高工作效率 哪个短信群发平台好? chrome浏览器插件SwitchyOmega的安装(离线安装) Linux centos7上安装tcpping Windows创建共享文件夹 DDOS攻击的危害及防御方法有哪些? 关于企业上云需要知道的问题有哪些? 为什么要选择高防服务器? 中小企业为什么选择云服务器? 企业为什么上云? 影响云服务器价格的因素有哪些? 为什么选择海外云服务器? 企业该如何选择云服务器的配置? 关于域名注册需要知道的问题有哪些? GPON与EPON的区别 服务降级的设计与实践 微服务端到灰度布发布的探究 微服务化后,需要注意的几点 企业数字化转型的方式 MPLS概述 IS-IS概述 SBIDIOT IoT恶意软件分析 一种面向大数据主动防御的低损耗数据采集方法 简单网络管理协议SNMP Multipoint BFD(M-BFD) 双向转发检测BFD 基于大数据的工控网络安全分析 爆发式流量所带来的安全问题,需要在边缘解决 三层交换技术 二层交换技术 战术环境下节点安全性评估方案 基于机器学习的Web应用入侵威胁检测 小程序的优势及存在的价值 一个完整的网站,由五大部分构成(建站基础篇) 网站建设的市场分析 当下流行建站类型 你所需要了解的外贸建站常识 模版建站与定制开发网站的区别 建站的支出费用如何 化工行业网站建设怎么做? 关于网站建设、小程序制作行业情况 对于企业来说,高端建站和模板建站有什么区别? 建站有哪些需要注意的地方。 餐饮小程序开发 网站备案方法目的耗时 定制网站对于企业有什么好处 大数据:多大的数据才有用 短信群发服务如何避免成为垃圾短信 不租用服务器可以做网站域名备案吗? 网站搭建分为哪些步骤? 注册域名最关键的是? 域名注册和备案的注意事项 企业如何正确选择注册官网域名 ? 众创时代,域名注册都不会那你就OUT了 银行怎样短信营销 为什么营销短信的效果这么差? 【干货】如何编写一条优质的营销短信? 双十一流量引爆—短信营销
浅谈工业信息安全防护现状及发展前景 针对工控的勒索软件Cring样本分析 基于区块链的工业互联网安全方法 工业互联网安全防护措施 工业互联网安全漏洞态势分析(2020年) 工业互联网与智能制造是啥关系? 为什么要做工业互联网平台? 互联网产品的信息架构 互联网思维的核心
区块链的潜在用途—数据完整性保护及减少信息决策单点故障 区块链的价值 区块链助力智能制造 区块链与分布式制造 企业布局区块链的战略思考 基于区块链边缘计算下的多维资源管理系统 怎么识别区块链骗局? 区块链和诈骗 区块链几大趋势 区块链小专题 区块链助力构建数据要素市场 区块链目前存在的挑战 区块链技术原理
工业物联网的兴起以及如何降低风险 物联网在物流领域的应用 工业物联网在能源化工领域的应用 工业物联网的体系架构 工业物联网在3C制造领域的应用 工业物联网及工业大数据安全探讨 区块链与物联网的融合 物联网应用技术 物联网对人类生活方式的影响 物联网的低谷与崛起 物联网初见 基于物权的物联网世界 5G+物联网 物联网工程师需要具备哪些技能?
到底什么是数字化转型? 区块链+5G的融合 浅谈工业大数据 “新基建”政策中智能建造的商机 详谈5G新基建 新基建(大数据、云计算、人工智能、区块链、物联网)会带给我们什么机遇?
5G新漏洞!用户隐私不再安全 5G技术 5G物联网好戏上场! 5G通信系统及关键技术 5G技术科普知识分享 5G技术将改变执法领域?
C语言微服务在OpenShift上的部署 VxLAN技术基础 基于next.js的服务端渲染解决方案 详谈Java集合框架 Mybatis工作流程及其原理 流式遥测(StreamTelemetry)技术介绍 从源码分析微服务网关的设计 从代码分析事务消息&消息延时 前端工程师必备知识 微信小程序开发的魅力在哪里? 为什么要开发小程序 开发小程序APP需要避免的坑 小程序开发 何时该采用LVOOP技术开发应用程序
架构设计-异常处理 架构思维之复用 区块链的技术模型架构 架构设计方法论 架构如何落地------四有效管理业务需求 架构如何落地-----三实行目标管理 架构如何落地-----二数字化转型架构实施方法 架构如何落地------一从制定实施路径开始 区块链基础架构之数据层(中) 区块链基础架构之数据层(上) 构架设计与拆分的哲学 什么是Web应用架构 软件架构模式 架构之高性能 架构设计六小原则 架构方法:运用合适的工具表达设计 云计算时代银行传统IT架构及管理方式的变革之路 【云计算】什么是Leaf-Spine(fabric)架构? 云架构的基本层次 民航机场云架构环境下的网络安全研究 云时代如何搭建HA服务架构
一文搞懂IT运维是什么? 运维是IT行业中技术含量最低的? ecshop网站管理员密码忘记怎么办 vmware esxi6.7 忘记root密码,重置密码 VMware虚拟机安装VMware ESXi 6.7 Linux Python包管理工具pip更换国内源 Linux登录ssh携带密码 10 个你必须掌握的超酷 VI 命令技巧 windows任务栏透明 宝塔面板安装SSL检查提示缺少中间证书处理办法 Linux的进程管理,process linux下常用的日志分析命令 Linux系统修改DNS 怎么让自己的网站更安全? Linux怎么安装宝塔面板 基于自动化运维工具SaltStack、Ansible、Puppet等运维中的难点解析 IT部门的价值在哪里? IT运维自动化解析 从传统IT运维到IT服务管理 IT运维的风险在哪里? 运维篇-存储基本知识梳理 运维篇-快照基础 自动化运维实践 | Ansible介绍 Linux运维工程师所需技能
红蓝对抗-防守溯源的基本思路 渗透测试操作全流程分享 一文把DDoS攻击的防御策略说清楚了 一文说清内网HTTPS服务访问缓慢的原因和解决办法 僵尸网络是指什么? DeepSeek 遭网络攻击,什么是僵尸网络? 勒索病毒应急流程分享 勒索病毒数据恢复 云南昆明企业中了勒索病毒,如何进行应急处理? 云南安全运维服务流程 安全运维服务方案 2024年国内发生的网络安全事件都是什么类型? 2024多家企业未履行网络安全保护和数据安全管理义务被罚 安全运维服务内容 三大网络攻击途径,危害大防御难 常见网络攻击分享 保障linux服务器安全的一些策略分享 安全运维高手必须掌握的20个网络安全知识点 怎么开展网络安全攻防演练? 如何彻底解决 DNS 劫持污染? Centos7使用Docker搭建Hfish蜜罐 Web安全之同源与跨域 浅谈Android App漏洞 将Python远控隐藏在文档图片中的行动分析 DDoS攻击技术分析与防御 网络安全动态防护,实现从“人防”到“技防” 为什么有的ssl证书会显示中文网站名称? 如果遇到以下情况,可能是您的服务器正在遭受DDos攻击? 堡垒机是干什么的?堡垒机和云堡垒机相比哪个更好呢? 我国ipv6普及率不足1%,如何加快我国ipv6部署 喊话大数据时代的企业用户:你们线上业务的网络信息真的安全吗?关注等保合规了吗? 数据库迁移上云,有哪些注意事项 哪些单位需要做等级保护测评? 防火墙有哪些分类?不同的防火墙对应的特点? 网站应对突发高并发带来的问题及解决方案 ssl证书无效怎么办? HTTP和HTTPS的联系 什么是云安全服务? 你还在用免费的ssl证书吗? Web应用防火墙的作用是什么? 说一说漏洞扫描 常见的ssl证书错误原因及解决方法 专业防御大流量DDoS攻击 新手的福音!IPv6的新手指南 网络安全与信息安全浅析 渗透测试之信息收集 渗透测试服务 等保合规安全解决方案 北美市场可用 IPv4 地址耗尽!IPv6 接棒靠谱吗? Windows安全加固 WEB应用防火墙waf IPV6就能解决物联网的地址问题吗? IPv6:让每一粒沙子都拥有IP地址 IPv6 改造方案分析 关于ipv6的那些事 ssl证书有哪几种类型? 云安全服务是什么? 租用高防服务器暴露真实IP会有什么后果! 网络安全设备之“防火墙” 网络安全加固的必要性 什么是Web应用防火墙 什么是 Web 应用程序防火墙 (WAF)? 浅谈WAF应用防火墙部署 高防IP是什么?有什么作用呢 高防ip和高防服务器的区别是什么 防火墙安全技术要求和测试评价方法 从WEB应用防火墙hihttps谈机器学习之自主对抗 Redis安全加固 centos系统安全加固的一些建议设置 什么是云堡垒机 web应用防火墙 ipv6真的要来了 IPv6入门笔记- 改造方案 服务器被攻击后怎么处理 ipv6轮到你大展身手了 漏洞检测的几种方法 网络安全等级保护基础知识 网络安全防护那些事儿 什么是Web应用防火墙? 什么是DDOS高防IP? 安全加固是是什么? 免费的ssl证书和付费的ssl证书有什么区别? 网络安全——SSL证书 SSL证书选择指南 电商为什么要安装SSL证书? SSL证书如何选择? 什么是ssl证书? 云环境下基于生灭过程的DDoS攻击抵御成本最小化 结合网络,描述一下DDoS基本攻击类型 关于DDoS攻击 网络信息安全等级保护测评方法分析 网站被木马恶意篡改了怎么办? 浅谈等级保护测评 中国抗DDoS市场全景图
云南物理服务器租用价格 云南服务器托管流程 哪家云南服务器托管服务好 哪家云南服务器托管优惠 云南服务器托管哪家好 云南服务器托管哪家便宜 Windows server利用MegaCli检查raid及硬盘状态 IDC选址逻辑:市场需求决定资产长期价值,产业政策决定短期供给
Linux服务器-运维故障排查问题 服务器访问变慢怎么排查? Linux系统常用命令用法详解 CentOS 安装日志 Centos 修改IP地址、网关、DNS 升级centos7内核版本 云南租用物理服务器多少钱一年 云南服务器托管服务 推荐短信群发平台 服务器托管云南哪家便宜 Linux dd命令详解 企业在Linux系统中的安全配置指南(下) 短信群发平台费用 云南服务器托管平台推荐 企业在Linux系统中的安全配置指南(上) 为什么Linux要使用Deb、RPM等安装包,而不是直接解压可运行? 服务器托管云南哪家好 短信群发平台推荐 运维常见系统问题和解决方案! Linux10个常见问题及解决方案 云南托管服务器推荐 云南租用物理服务器 如何防御DDOS的攻击? 如何使用Linux Screen 云南托管服务器价格 TFTP安装、配置与使用 群发短信平台价格 curl命令使用场景总结 云南托管服务器哪里便宜 群发短信平台怎么选择 玩转Linux安全机制之SELinux Linux服务器跑不满带宽必查的5个问题 云南物理服务器租用推荐 云南托管服务器选哪家 Linux新磁盘分区、格式化、挂载操作 Linux 常用命令 —— sort 文件内容排序 云南物理服务器租用平台 云南托管服务器 网站访问故障原因及解决方法 Linux从入门到进阶:常用命令全解析 哪家云南服务器托管便宜 云南云服务器租用哪家便宜? 掌握Linux文本处理利器:grep与sed全攻略 Linux离线安装MySQL数据库 哪家云南云服务器租用便宜 便宜的短信群发平台 快速解决Linux 系统下文件目录中文乱码 Linux实时网络带宽监控工具:iftop 便宜的云南云服务器 云南物理服务器租用提供商 Linux环境下删除海量文件的方式 Microsoft Access数据丢失问题及修复方法:全面解析与常见问题解答 云南服务器托管优势 短信群发平台效果 Linux Rsync安装 Nginx日志管理 推荐云南物理服务器租用 短信群发平台哪家好 Redis基础命令大全 Linux中的文件对比工具diffc、mp、patch 云南物理服务器租用哪家靠谱 群发短信平台 从入门到精通:lsof命令详解 Linux之sort跟练教程 云南云服务器租用价格 群发短信平台推荐 自动化定期清理日志文件的脚本 在 CentOS 系统中配置静态 IP 和 DHCP 等网络连接信息 哪家云南物理服务器租用好 云南云服务器选哪家? Linux系统如何禁用IPv6 Nginx配置正向代理详解 云南物理服务器租用怎么选 云南服务器托管哪家靠谱 Linux系统磁盘扩容全攻略 Linux之rsync远程同步文件 云南物理服务器租用选哪家 云南服务器托管哪家划算 简单介绍一下HTTP请求头与请求体 MySQL开启查询缓存 云南物理服务器租用哪家好 哪家云南服务器托管好 MySQL Undo Log日志最全详解 Linux性能排查命令: htop 从零开始学Docker系列 Docker 容器网络 网站打开很慢的原因及解决办法 怎么选云南服务器托管 云南物理服务器租用优势 HTTP八种请求方式 Linux ssh 命令 云南服务器托管平台 云南物理服务器租用多少钱 云南云服务器哪家稳定 云南云服务器怎么购买? 云南云服务器租用选哪家 MySQL日志文件——Binlog Puppet编程入门:掌握Puppet编码风格 30个TensorFlow技巧 免费云数据库领取 短信群发平台试用 Linux系统稳定性压力测试软件汇总 Linux流量分析工具nethogs,实时监控网络带宽 永久免费虚拟主机推荐 怎么安装ubuntu系统 如何刷新DNS缓存? 短信群发平台哪个便宜 网站访问慢的原因和排查思路 访问一个网站很慢,怎么排查和解决? 昆明云服务器哪家便宜 Ubuntu 上启用 IPv6 的步骤 MySQL 常用日志详解 免备案虚拟主机哪家好 在 Windows 环境安装、运行 Redis 数据库的方法 解决 docker pull 不到镜像的问题 宝塔Linux面板安装教程 免备案虚拟主机 Linux 命令使用指南:nmcli 命令 使用ZFile快速搭建私有云盘 哪家短信群发平台稳定 HTTP状态码解析:解决不兼容边界等式约束与下限问题 盘一盘Linux中的btop工具 云服务器和物理服务器相比有何区别?到底怎么选? 云南物理服务器租用 香港虚拟主机推荐 云南云服务器优惠活动 Linux运维系统常用命令 Ubuntu的常用命令 群发短信怎么操作 Linux - Ubuntu的防火墙操作 Linux终端实时查看各网口网络流量情况 群发短信收费标准 30个 Linux 高级命令 nmcli,一个神奇的 Linux 命令! 短信群发供应商 MySQL误删数据怎么办? DNS中毒攻击:如何防范与解决 虚拟主机搭建网站 好用的短信群发平台 什么是DNS缓存? Linux小技巧-使用ab命令做性能压测 Linux 命令使用指南:awk 命令 Linux CPU 压力测试 云服务器如何设置能更加安全? 短信推广平台推荐 Ubuntu安装docker教程 centos7停止维护后,怎么升级内核 短信群发平台哪个好用 如何在Docker中部署Node.js应用 浅谈MySQL8.0新特性 短信群发平台价格 Http状态码里面301、302的区别 常见web漏洞 HTTP响应-状态码 50个必会Linux命令 短信群发平台哪个好 短信群发平台哪家便宜 防火墙如何支持虚拟专用网络(VPN)连接? https到底把什么加密了? 比较便宜的短信群发平台 简单聊聊Linux内核 网络安全扫描工具——WebScanner 短信群发平台哪个比较好 分享提升linux服务器安全性的几个小技巧 云服务器的常规安全设置及基本安全策略 http协议状态码——实用干货 12 个 Linux 网络安全工具 Linux教程:深入理解Awk命令 My SQL表及其增删改查 短信群发平台哪里有 Linux 运维七大实用技能 短信群发平台怎么选 比较便宜的云南云服务器 MySQL数据类型介绍 Docker 容器和镜像其实很简单 4 款最受欢迎的静态网站生成器对比指南 等保2.0工具箱测评必备软件大盘点 云南云服务器哪个品牌好? 什么是HTTP状态码? Moonlight 局域网串流搭建教程 云南云服务器可以做什么 Linux系统时间设置指南 Linux系统中常用的关机和重启命令 哪家云南云服务器便宜 Linux发行版本的名称及区别 什么是docker?在嵌入式Linux开发中有哪些作用? 云南云主机租用 云南云服务器租赁推荐 Linux服务器上MySQL启动方式全解析 六大网络攻击威胁,你的防御体系能否抵御? 云南云服务器哪家便宜好用 10 款网络流量监控工具使用实例 IT运维常用的服务器监控工具 云南云服务器租用 云南云服务器去哪买? 云南云服务器租赁优势 106短信群发平台 云南云主机测评 云南云服务器租赁哪家好? 云南云服务器租赁价格 云南企业云服务器租赁 云南云服务器租赁 MySQL数据库备份指南 靠谱的短信群发平台 短信群发延迟是什么原因? 云南服务器托管哪家便宜 虚拟主机永久免费版 短信群发哪家好? 什么云南云服务器便宜? 适合学生的云主机 免费云南云服务器哪里领? 永久免费虚拟主机哪里有? 免费云南云服务器怎么找? 国密SSL证书去哪里签发? 哪里能领永久免费虚拟主机? 好用的永久免费虚拟主机推荐 永久免费虚拟主机领取 免费云虚拟主机应该怎么选? 免费云数据库有用吗? 推荐免费云南云主机 怎么找免费云南云服务器? 推荐免费云南云服务器 免费域名能拿来做什么 免费云数据库试用 云南云服务器租赁哪家好 云南云主机采购哪家好? 云南云主机多少钱? 免费域名注册有用吗? 免费域名哪里找? 如何获得免费云数据库? 免费云数据库哪家好? 免费MySQL云数据库 免费云数据库有哪些 云南云主机厂商哪家好? 云南云主机选择指南 最划算的云南云服务器:提升企业效率的明智选择 .cn域名9.9元一个,域名注册攻略免费分享! 如何进行域名转入转出? 云南云主机品牌 云南云主机收费标准 云南云主机费用 云南云主机多少钱 最划算的云南云主机 个人云南云服务器 企业云南云服务器 学生云南云服务器 云南云服务器品牌 根服务器有多重要?如果全球根服务器崩溃会怎么样? 云南云服务器推荐 云南云服务器供应商 云南云服务器厂商 云南云服务器公司 云南云服务器提供商 云南云服务器服务商 云南云主机价格 云南云主机试用 免费的云南云主机 哪家云南云主机优惠 哪家云南云主机安全 哪家云南云主机稳定 云南云主机购买 云南云主机比较 云南云主机怎么选 哪家云南云主机价格低 哪家云南云主机服务好 哪家云南云主机性价比高 云南云主机哪家好 云南云主机哪家便宜 云南云服务器收费标准 云南服务器托管提供商 云南服务器托管优点 云南服务器托管收费标准 云南云服务器费用 云南服务器托管费用 云南服务器托管带宽 云南云服务器多少钱 云南云服务器价格 云南服务器托管机房 哪家云南服务器托管价格低 云南服务器托管供应商 云南服务器托管厂商 云南服务器托管公司 云南服务器托管推荐 云南服务器托管多少钱 云南云服务器配置选择 云南服务器托管比较 云南服务器托管价格 云南服务器托管服务商 云南服务器托管怎么选 哪家云南服务器托管安全 云南云服务器购买 云南云服务器比较 云南云服务器试用 免费的云南云服务器 云南云服务器怎么选 哪家云南云服务器稳定 哪家云南云服务器安全 哪家云南云服务器价格低 哪家云南云服务器服务好 云南云服务器哪家好 云南云服务器哪家便宜 哪家云南云服务器优惠 哪家云南云服务器性价比高 云南云服务器哪家好? 云南服务器托管哪家好? 云南服务器托管选哪家 云服务器的配置要怎么选? 选购云服务器有哪些注意事项? 香港服务器建站的优势 推荐一些真正便宜的企业云服务器? 适合中小企业的云服务器 企业网站怎么选择云服务器? 企业使用云服务器的优势是什么? 昆明国家级互联网骨干直联点获批:省内流量不再绕转成都等地 什么是OSS?5分钟带你了解! 分布式计算 云计算+——赋能科技创新布局 云服务器1M带宽有多大,购买服务器时如何选择服务器带宽? 蓝队云双11活动,云服务器0.9折来袭 “.商标”域名,保护企业品牌利益不被侵犯! 网站打开速度慢的代价:超过3秒就会有57%的用户离开! 如何选择合适的对象存储? 如何低价购买云服务器? 虚拟主机的配置及原理 什么是高防云服务器?高防服务器的优势有哪些? 云服务器到期了怎么办? 域名备案需要准备什么? 使用云服务器的优势 云服务器和VPS服务器对比有哪些优势? 直播系统搭建为什么需要云服务器 手摸手带你玩转云服务器 海外高防云服务器的安全防护 云服务器和云盘的区别 云服务器有哪些维护技巧,你都知道多少? 三种云计算安全服务模式定义企业安全 迁移到云计算服务的五大理由 可能危害云服务器安全的因素有哪些? ssl证书过期了怎么办? 1H2G的云服务器能用来干什么? 云服务器小常识 MySQL体系架构 如何保护云服务器的安全? 什么是域名解析? 说说虚拟主机的配置及原理 域名为何要实名制,还要进行备案? 虚拟主机使用独立IP对网站有什么好处? 对象存储适用于哪些场景? 买一个好的云服务器需要多少钱? 服务器硬件基础知识 个人如何注册域名? 服务器托管和租用区别 服务器迷惑行为大赏 服务器采购要注意哪些事项? 服务器,你了解吗? 代理服务器,网关,网络协议,都什么鬼东西啊 如何为中小型企业购买更好的服务器硬件 从应用角度比较块存储、文件存储、对象存储 创业初期选择服务器租用/托管还是云主机? 云计算 变革 | 云桌面时代降临 云计算之概念和架构 云计算行业分析 云计算的发展到顶峰了吗? 大数据和云计算的发展前景如何判断 【云计算】什么是软件定义数据中心网络架构(SDDCN)? 云服务器主机公网ip和内网ip的区别 一级域名、二级域名、三级域名的区别? 服务器托管要注意什么? 云计算是一个怎样的存在? 什么是云计算? 云计算的基本概念 谈谈云计算 【云计算】什么是Leaf-Spine(fabric)架构? 中小企业如何选择云服务器? 什么是域名? 什么是对象存储?你看过就明白了 服务器托管中常见的机柜类型有哪些? 云计算如何帮助企业节省成本 通俗易懂解释什么是云计算 虚拟主机和云服务器有什么区别? 块存储、文件存储、对象存储的区别 域名注册要注意些什么? 个人站长怎样选择虚拟主机? 怎么选择云服务器的配置? 谈谈ipv6 租用云服务器的优势有哪些? 购买云服务器要注意几个陷阱 ipv4和ipv6的区别 服务器租用类型的选择 服务器崩溃的原因 服务器虚拟化?有什么优势? 服务器托管到数据中心机房有哪些优势? 云服务器是什么?有什么优势呢? 正确租用服务器的方法 防止服务器数据丢失的方法有哪些? 如何挑选出优质的云服务器运营商? 中小型公司选择云服务器的原因是什么? 服务器租用中CPU的型号是不是越高越好呢? 云计算给我们的生活带来了什么改变? 云服务器的特征有哪些? 关于服务器租用,你是否也有这几个疑问? 租用什么样的高防服务器适合我们的企业? 云主机速度慢竟然是这个原因! 防止服务器数据丢失的方法有哪些? 如何选择服务器租用和服务器托管? 服务器托管和租用区别 数据中心服务器托管怎么选靠谱的IDC服务商? 服务器租用,四大问题不容忽视 什么是服务器?服务器租用思路 IO性能分析 between 云主机 and 虚拟机 网站建设如何选用空间?云虚拟主机和虚拟主机的区别 对象存储 统一云对象存储平台关键技术路线选型对比 怎样选择靠谱的云服务供应商? 服务器托管的五大优势 云服务器的带宽怎么选择? 免备案服务器有什么优势? 两个角度为你解答什么是云服务器? CDN许可证怎么去申请和办理 戏说 - 块存储 文件存储 对象存储 智造“基石”—— 解码工业物联网、大数据与云计算,发力“新基建” 新基建浪潮下的国内云计算行业 香港服务器可以翻墙吗? 详解Docker负载均衡和服务发现 如何选择云南云主机
计算机软件是一个复杂的系统。复杂的系统总是似而不同,在宏观上类似,在细节的地方各有千秋。因为细节决定成败,复杂的系统很难有屡试不爽的解法。尽管如此,解决的多了也会遗留一些经验。这些经验再加以重复验证就形成了原则。这些原则有其特殊的历史背景,不一定放之四海而皆准。但是不听老人言,吃亏在眼前,在能自行顿悟之前建议能熟诵于胸,以防不测。
架构六则
1、 状态多具象,读写本不同。
2、状态常迁移,一致有成本。
3、优化守本分,变化相对论。
4、 熟诵六小计,锦囊随身行。
状态多具象
计算机数据分为正源和衍生两种。正源数据指的是官方钦定的最原始的数据,所以有时候也叫原始数据。衍生数据是基于正源数据派生而来,对正源数据进行二次加工,是对正源数据的一个特殊的视角。常见的衍生数据生成方式有筛选、聚合、统计等等。有一些数据属于衍生数据,但是并不那么直观。一个例子是数据库索引。数据库索引是为了加速数据查询而生成的特殊数据结构,是由数据库表衍生出来的一份数据。另一个例子是网页前端界面显示。一般的网页前端界面显示的流程是这样的:
1、后端服务器生成业务数据。
2、业务数据变成与前端通讯的格式,比如json、xml等,通过网络协议发送至网页浏览器。
3、网页代码将数据变成特定的浏览器Javascript对象。
4、浏览器将Javascript对象变为计算机显卡能识别的数据。
5、显卡在显示器上展示数据。
以上每一步流程都是数据的处理和加工过程。从每个加工组件的角度来看,输入是正源数据,输出是衍生数据。从上到下完整的来看,后端服务器上的是正源数据,其余数据都是衍生而来。
判断数据是正源还是衍生的办法很简单:如果数据不见了,是否能够基于其它数据重新生成出来。比如前面提到的数据库索引数据。数据库有索引的删除和表的索引重建操作,表删除了就没有了,所以索引是衍生数据,数据库表是正源数据。对于网页显示的例子,浏览器刷新之后,网页显示会先消失然后重新展示出来,但是如果后端服务器宕机就没办法再展示网页了。所以前端显示是衍生数据,后端数据是正源数据。
在架构设计中,因为衍生数据可以基于正源数据重复产生,衍生数据的容灾度较高,恢复的方法较多。相对而言正源数据只有一份,损坏之后无法轻易恢复,因此需要针对业务对容灾的需求进行精心的设计。
1.读写本不同
对于每个人来说,读是一个内容输入的过程,写是一个内容输出的过程。一般会认为这是两种不同的个人能力,不一定同时都很优秀或者都不优秀,比如有人可能阅读能力强但是写作能力弱,也有可能写作能力强但是阅读能力弱。同理,计算机的读写也是两个不同的行为。计算机的读和写的对象都是数据,但是读操作是数据的输入过程,写操作是数据的输出过程。这里提到的读写本不同的第一个不同点在于操作的不同。数据的输入和输出可能会面临不同的吞吐量、延时、容灾等需求,需要分别对待。
读写本不同的第二个不同点非常难以发觉,那就是数据有可能也是不同的。在状态多具象一节里我们介绍了数据分为正源数据和衍生数据两大类。之所以会有衍生数据的一个原因是数据的使用,即数据的读取,可能需要有特殊的优化方式。为了读性能的原因需要对正源数据做一些预处理,比如建索引。所以对于数据库的例子来说写的数据是正源数据,读的数据是衍生数据,所以读写的操作是有可能基于两份不同的数据进行的。
总结一下。读写的不同在于读写的数据不同以及数据的流向不同。在架构设计时需要将读写分开考虑,分开优化。
2.状态常迁移
计算机程序会用到一些数据结构,比如List,Map,Set等等。在面向对象编程的过程中还会使用到类的对象。这些数据结构和对象其实都是一种状态,计算机程序需要正确合理的维护这些状态。
通常这些状态都是在内存之中,机器一旦断电就会全部消失。所以需要将这些内存信息保存到可持久化的存储介质上,比如硬盘和网络存储。这个保存的过程其实是内存状态的迁移过程。但是硬盘也会出现机械故障,造成数据丢失。因此更为稳妥的方法是不要将鸡蛋放在一个篮子里,将硬盘的数据再备份到其它的地方。这个数据备份的过程也是状态的迁移过程。
除了解决数据丢失的问题需要状态迁移以外,状态迁移也会被用来解决物理局限。一台机器内存的大小是有限的,所以当内存里的数据大到装不下的时候,需要将内存里的数据分散到其它机器上,这些机器作为一组集群提供一个分布式的数据结构。一台机器的硬盘大小也是有上限的,同理,当硬盘不够时也可以将硬盘数据分散到由一组集群组成的分布式文件系统里。对于应用程序来说,它还是在通过同样的接口访问数据结构或者文件系统,只不过这些内容可能分散在了网络上的其它机器。
3.一致有成本
前面提到了状态常迁移。如果迁移过程中数据出了问题怎么办?比如在数据备份过程中网线断了,或者数据中心停电了。这时候需要有一套应急措施来保证在基础架构恢复之后再次启动数据备份流程。数据的重发是一种成本。
数据的全部丢失比较容易处理,相对挑战高一点的是数据部分丢失。比如在数据传输过程中掉了部分数据,或者由于宇宙射线的影响导致账户金额由正变负。这时候除了需要有数据重发功能以外还需要有数据正确性验证的功能。数据的正确性验证也是一种成本。
在分布式系统中还有一些更为复杂的情况。比如我们将数据备份至北上广三个数据中心。当我们刚发出最新的数据备份指令的时候本地数据中心掉电,完全停止工作。这时候我们需要在北上广三个数据中心中选择一个来做业务的实时切换。那么我们怎么判断选择出来的数据中心有最新的数据呢?这个问题的难点在于我们需要判断某些数据和一个无法访问的数据是否一致。这个问题的解决需要数据的发送方和接收方一起通过既定的分布式协议来解决。
我们也可以把问题简化一点。假设我们不需要判断北上广是否有最新的数据,我们只要选择当中数据最多的一个就可以了。显然可以尝试通过两两比较的方式来判断谁的数据更多。但是如果在比较的过程中网络出现了隔断,比如上海的数据中心成为了一个被隔离的信息孤岛,这时该如何处理呢?分布式系统中还有更为少见的单向通讯故障,一般是在防火墙出现错误配置的时候会出现。假设北京可以访问上海数据,上海可以访问广州数据,广州可以访问北京数据,但是上海不可以访问北京,广州不可以访问上海,北京不可以访问广州。这时每个数据中心都知道剩下两个数据中心的一个信息,但是不知道另一个的信息。这时候应该怎么判断谁的信息更全面呢?这也需要分布式协议来解决。
更为悲观的是理论科学家证明了在一定假设情况下,只要网络集群有一个节点有可能出现故障,整个集群便不可能达到一致。这就是著名的FLP结论。我们会在之后详细讲解这个定理。因为机器会出故障,所以一致性的解决就不是成本高低的问题,而是不可能解决的问题了,换句话说想要达到一致性的成本是无限高。
所幸在实际操作过程中FLP论文中提到的假设是很容易通过一些方法来规避的,架构师还是有可能设计出一个具有一致性的软件架构。这也表明一致性的解决还有一个很高的学习成本。
4.优化守本分
如章首所引,提前优化是万恶之源。不提前的优化也需要注意。每个程序都有既定的功能,这就是在软件工程里提到的功能性需求。程序还有一些对于运行效率相关的要求,比如吞吐量、响应时间等。这些的学名叫非功能性需求。优化是会改变程序的行为,但是这种改变只能影响非功能性需求,不能影响功能性需求。这是优化的一道红线,不能僭越。优化守本分就是要守住这根红线。
在实际过程中会出现无论怎么优化,非功能性需求都无法达到的情况,比如需要达到非常高的吞吐量。这时候会通过放弃一些业务的要求来简化系统实现。常见的方法有最终一致性、事务补偿等。这时候同时出现了系统优化和功能改变,但由于功能改变是因,系统优化是果,因果关系不同,并没有违反原则。
5.变化相对论
辩证唯物主义认为,事物的运动发展是变与不变的统一。显然变与不变的相对关系是一个偏哲学的问题。由于我们是介绍实践为主,不深入做理论分析,所以在这里不做过多的阐述,只举几个例子。
一个例子是关系型数据库的查询。关系型数据库访问的方法一般是通过SQL结构化查询语句。不同人会有不同的查询内容和方式。在这种场景下数据库里的数据是相对不变的,SQL查询语句是变化的。但是随着互联网的发展,人们对查询结果的实时性要求越来越高。比如在大型的搜索网站、电商或者新闻网站的搜索界面,当输入一个查询条件之后,网站会不断的推送最新的查询结果。在这种情况下查询语句是不变的,数据是变化的。数据和查询在这两种情况下的实现也不相同。在传统关系型数据库的情况下,为了加快查询结果,数据库会对表建立索引。在实时查询结果推送的情况下,数据系统会对查询语句做索引。
另一个例子是对数据的操作。金融数据和所有数据一样,一旦修改就变化的和以前不一样了。这样金融行业的审计人员怎么知道几个月或者几年前数据是怎样的呢?一般为了应付审计,系统开发人员会在审计周期开始时做一个全量的数据拷贝,并将访问权限设为只读。这样就有了一个不变的数据版本。这种设计下数据是一直在变化的。另一种系统设计的思路稍有不同。对数据的修改并不会改变数据,而是生成一份新的数据,或者说是数据的一个新的版本。在这种设计下数据是永远不变的,变化的是数据的个数。这两种设计都能解决同一个问题,但是难易程度不同,孰优孰劣高下立见。
服务热线:
4006-75-4006(7*24小时在线)
总机直拨:
0871-63886388(工作日9:00-18:00)
售前咨询
售后咨询
备案咨询
电话
二维码
TOP