返回首页

cosmic — 分布式矩阵账号控制系统

cosmic — 分布式矩阵账号控制系统

所属团队

个人开源

我的角色

作者 / 独立开发

周期

持续演进

工具与技术

GolangC++ProtobuflibhvRakNetSQLite

背景

要在复杂网络环境下稳定控制成百上千个 bot 账号,单进程方案撑不住:连接管理、协议转换、弱网重连、状态同步全挤在一起。cosmic 的答案是三端分离——admin、server、sentry(C++)。

三端架构示意(占位图)
长连接控制面架构

我解决了什么

  • 事件驱动控制面:Hub 事件循环管理连接生命周期,注册/注销/广播经带缓冲 channel 异步处理,每连接独立 goroutine,零锁竞争
  • 长连接协议:Go 控制面与 C++ sentry 之间用长度前缀 Protobuf 统一命令、状态与事件;sentry 重连后由中心下发快照重建运行态
  • 重连风暴防御:LVS L4LP 保持节点粘性,"假离线"状态 + 多级缓存防止大面积重连打穿数据库
  • 写路径削峰:Redis Stream 异步批量处理推送与回执,最新 Seq 暂存 + 定时刷盘,数据库写 IO 降低 80%
  • 索引结构:ID 索引、UUID 哈希索引、前缀字典树模糊匹配,读操作 O(1);空间哈希把三维空间邻居查找从 O(n) 降到 O(1)
  • 传输层二开:改造 RakNet,把 Socks5 代理嵌入 TransmissionLayer,实现串行建连、非阻塞握手与自动重连

结果

系统在真实弱网环境里长期稳定运行,支撑大规模 bot 矩阵的分层管辖。这个项目是我并发编程、网络协议与 C++/Go 混合工程能力的来源——GitHub 上 70+ star 是最好的同行评审。

项目开源在 github.com/81Vm3/cosmic,欢迎读源码、拍砖。