Skip to content

部署形态总览 ​

Croupier 是「单控制面 + 旁路 Agent」架构:Server 无本地持久状态(状态全部在数据库/Redis),因此部署形态的选择本质上只有两个问题——几个 Server 实例、入口层怎么做。

形态对比 ​

形态适用可用性入口层参考文档
单机 Compose(docker/docker-compose.yml)开发、测试、小团队试点单点无(直连 18780/19090)Docker Compose 部署
单机 HA(docker/docker-compose.deploy.yml)单宿主生产99.9%+nginx(L7)+ HAProxy(L4)Docker Compose 部署
多宿主跨机生产、LB 不允许单点99.99%HAProxy 主备(keepalived VIP)或云 NLB负载均衡
Kubernetes已有 K8s 基础设施取决于副本数Service(ClusterIP)+ 探针Kubernetes 部署
二进制 + systemd无容器约束的环境取决于拓扑自建 nginx/HAProxy二进制部署

组件清单 ​

最小可用的控制面组件:

  • Server(必须):HTTP API :18780 + transport 入口 :19090
  • 数据库(必须):MySQL / PostgreSQL(生产推荐);SQLite 仅开发
  • Redis(生产必须):缓存、集群成员表、注册表共享状态;单机 memory 模式可用但不推荐
  • Agent(按游戏网络部署):每个游戏网络至少一个,出站连接 Server
  • 可选:analytics-worker / ingest / ClickHouse(数据分析域)、dashboard(前端静态资源)

选型决策 ​

需要高可用吗?
├─ 否 → 单机 Compose(接受 Server 重启期间的平台中断)
└─ 是 → 宿主环境是什么?
    ├─ 单台宿主 → docker-compose.deploy.yml(双 Server + 双 LB 容器)
    ├─ 多台宿主 → HAProxy 主备 + keepalived VIP(或云 NLB)
    └─ K8s → Deployment 2 副本 + Service(kube-proxy 天然 L4 打散)

关键事实(详见 Server 多实例 HA):

  • Server 无状态:任何实例崩溃不丢数据,恢复即回归集群(成员表租约自动续期/剔除)
  • Agent 断线重连 + 重新注册即可把归属迁移到存活实例,入口层换型 Agent 零改动(只改 server.addr)
  • HA 不是「双写」:多实例通过共享存储成员表 + owner 转发协同,cluster.enabled 是唯一开关