多机协作,横向扩展
管理端下发、部署端拉取、服务端上线、数据端汇聚——四端组成一张可横向扩展的集群网,靠多进程部署与 Gossip 协议自动组网、自动收敛状态。
四端如何组成集群
各端独立部署、独立伸缩,通过 API 与心跳协作,任何一端扩容都不影响其它端
协作链路
Management
Deploy Agent
SSH Server
Data Service
Monitoring
Web 管理端
集群的统一入口,负责设备管理、隧道自动分配与访问策略下发,向各端输出部署指令与业务配置。
数据端
独立的数据服务,集中汇聚各节点的隧道与端口数据,向其它端提供查询接口,并以可视化面板呈现运行状态。
SSH 服务端
隧道接入与转发的核心,单机多进程部署、多机组成集群,节点间通过 Gossip 同步状态。
部署端
常驻心跳、自动拉取部署任务,完成服务的安装、升级与失败回滚,无需人工登录服务器。
多进程与集群
多进程部署 + Gossip协议集群,横向扩展
多进程部署
同一台服务器启动多个进程,各监听不同端口,由上游负载均衡分发SSH连接。
Gossip集群
基于hashicorp/memberlist实现gossip协议,各进程间通过TCP通信同步状态。
服务器节点
全部采用阿里云、腾讯云三线BGP服务器,保障全国低延迟接入
阿里云
主力节点,覆盖华北、华东、华南核心区域。三线BGP接入电信、联通、移动三大运营商,智能路由选择最优路径。
腾讯云
补充节点,华南及港澳台方向优化。同样采用三线BGP,与阿里云节点互为冗余,提升整体可用性。
三线BGP的优势
智能路由
自动选择最优运营商线路,无需用户手动切换
全网覆盖
电信、联通、移动用户均可获得低延迟体验
故障自愈
单线路故障时自动切换到其他可用线路
低延迟
全国主要城市平均延迟低于50ms
编译 · 部署 · 测试
从代码提交到服务上线,全流程自动化
自动化测试
CI 单元测试 + 端到端冒烟测试 + 压力测试,多层覆盖保障质量。
多平台交叉编译
Go 交叉编译,一次构建覆盖全部目标平台,含 Docker 多架构镜像。
自动部署
部署端通过心跳自动拉取任务,执行服务端部署,支持自动更新部署端自身。
为什么这样做集群
每一项技术选型都有明确的工程理由