跳到主要内容

集群部署方案

一句话版:怎么把一个集群"焊"得又稳又能扛?核心思路是去中心化——不把宝押在某一台机器上,让每个节点都能接客、账本大家共享、坏了自动换人上。


一、目标:要稳,也要能扛

一套面向生产的集群,要同时满足三件事:

  • 高可用:单台机器挂了,隧道不掉线、访问不中断;
  • 高负载:隧道和流量多了能往上加机器,而不是推倒重来;
  • 可维护:扩容、升级、换节点,不影响正在使用的用户。

二、部署形态:一台节点 = 一套完整组件

推荐每台节点都部署"全家桶":服务端 + 数据端 + 网关。好处是每台节点天生就能独立接客,谁也不依赖谁当"单点":

节点 A:服务端×N + 数据端 + L4 负载均衡 + L4 网关 + HTTP 网关
节点 B:服务端×N + 数据端 + L4 负载均衡 + L4 网关 + HTTP 网关
节点 C:……(同样配置)

三、去中心化:关键设计

  1. 数据去中心:集群的"账本"(数据端)不在某一台独占,而是多节点共享同一份集群数据——任何一台都能查到"隧道在哪、开关怎么设";
  2. 接入去中心:客户端连哪个入口都行,网关/负载均衡都知道该把流量送哪,隧道挂靠哪台节点由整体调度,不绑死;
  3. 故障去中心:某台节点、某个入口挂了,流量自动改走其它健康节点;客户端侧断线自动重连到可用入口。

效果就是:没有"命门"。任何单点掉了,其余节点照常营业。

四、高负载:横向扩容是主路

  • 加节点:隧道多了就再接入一台节点,新节点自动进入账本,开始分担;
  • 加入口:公共入口不够用,就再加入口(新地址、新端口池),多个入口共同对外;
  • 自动调度:新隧道优先落到空闲节点,已有隧道也能在节点间平稳调整。

五、一套部署能放多大

单套"节点 + 服务端实例"能承载的量,由实例数(身份端口)与机器性能决定。需要更大容量时,往下看两种扩展形态:

六、小结

记住内网云:去中心化部署 = 每台节点都是全能工、账本人人有、坏谁都不慌;容量不够就加节点,入口不够就加入口。