Skip to content

一文说清部署架构

About 750 wordsAbout 3 min

架构新书

2026-05-29

部署架构描述了软件如何部署到一个物理环境,这个物理环境可能是一台主机,也可能是机房,也可能是运营商提供的云计算服务。物理环境境涉及到网络、主机,包括CPU和内存参数等,基础软件服务,如数据库,Reids等。

部署架构同其他技术架构一样,同样是质量驱动架构,重点的质量属性是高可用,可伸缩性,以及安全特性。

下图描述了一个小型的生产环境物联网的部署架构,图中4C16G,是4核CPU,16G内存的简写。4C16G*2 表示有两台服务器。 可以看到分为5部分,

  • Redis 集群,使用了代理模式,Redis包含了2个分片,每个分片带有一个从分片。每个分片大小为2G,CPU为1个。采用分片,使得Redis具备可伸缩性。使用主从,使得Redis具备高可用性。
  • 数据库使用了MySQL,采用主从架构。主数据库用于管理系统保存网关配置和保存网关集群的运行状况, 从库用于主网关读取配置和网关集群的运行状况。主从库配置是2个CPU,16G内存。
  • 主网关管理控制台:包含了1台配置较低的2C服务器用于主网关的配置管理,因为配置管理系统是个内部管理系统,没有高可用要求,所以只配置一个服务。
  • 主网关负责负责告诉设备应该连接哪个网关节点,图中包含支持MQTT协议和WebScoket协议,各配置了4个节点和2个节点。外部设备通过LoadBalancer服务接入主网关
  • 接入网关负责设备的实际接入,图中,配置了64个MQTT节点,每个节点是4C16G。,以及4个4C*16G 的WebSocket网关。随着设备量增加,可以添加部署的接入网关并在主网关管理服务配置集群,以实现伸缩性,高可用和高性能
  • Load Balancer,设备通过负载均衡器访问主网关,获得接入网关的实际链接地址。 Load Balancer是云厂商提供的代理服务器。保证了主网关的可高可用。

同其他技术架构一样,很难在一个架构图中展示部署架构所有信息,这时候可以提供高层部署架构图,然后再分解成各个部署图或者用专门文档说明。比如上图仅是物联网系统中网关部分的的部署架构图. 大多数部署架构都强调安全特性,这需要与运维人员一起从安全视角描述部署架构,比如架构图包含网络隔离和数据传输加密信息。

知行合一