1.
总体架构与设计目标
- 目标为保证交易撮合与市场数据的“低延迟+高可用+可回溯”。
- 主备多活架构:本地主数据中心与异地容灾中心形成冷/暖/热备组合。
- 网络设计追求低跳数、双路由、不同运营商的光纤多线接入。
- 服务分层:撮合层、行情层、持久化与回放层、对外网关层分开部署。
- 可用性目标常见SLA:99.999%(年累计宕机<5分钟)作为高频业务目标,次级业务可为99.95%。
2.
机房物理与电力布局
- 机柜与列间冷通道设计,冷热通道隔离,冗余冷却N+1。
- 电力双路进线,A/B供电分别接入不同UPS与发电机组,UPS通常为N+1或2N配置。
- 机柜级别配备PDU与环境监控,支持远程KVM与IPMI。
- 地板承重、抗震设计与消防(气体/水雾)设备依照数据中心TIER标准实施。
- 物理安全分级,进出采用生物与门禁双重验证,日志保留与视频回放机制。
3.
网络拓扑与低延迟优化
- 核心交换采用40/100GbE,接入使用10/25/40GbE,拓扑冗余采用SPF/BGP与ECMP。
- 不同运营商的物理光缆路由互为备份,避免单一城市节点故障。
- BGP Anycast用于市场数据分发,结合边缘节点降低全球用户访问延迟。
- 延迟优化包括内核网络参数调优、CPU中断绑定(irqbalance/isolcpus),以及使用DPDK或内核旁路栈。
- 流量控制与QoS保证撮合与行情流量优先级,防止大容量数据备份影响交易通道。
4.
关键服务器与存储配置示例
- 撮合引擎使用裸金属优先,示例配置见下表(仅作参考)。
- 存储采用本地NVMe + 异地对象存储做日志归档;交易关键记录同步到分布式存储并定期快照。
- 数据库通常采用内存型(如Redis/DRAM)与持久化后端(RAID/NVMe RAID10)组合。
- 消息队列使用Kafka或专用消息中间件,副本因子≥3,最小同步因子≥2以保证一致性。
- 监控与告警覆盖硬件温度、网络丢包、交易延迟、队列积压等指标,阈值触发自动化故障切换。
| 组件 | 示例配置 | 用途 |
| 匹配服务器 | 2x Intel Xeon Gold 6248R, 48C/96T, 384GB DRAM, 8x3.84TB NVMe RAID10, 2x25GbE | 低延迟撮合 |
| 行情节点 | 1x Xeon 8C, 128GB, 2x1.92TB NVMe, 2x10GbE | 消息分发/订阅 |
| 存储/归档 | 分布式对象存储, 副本3, 每节点16TB SSD | 历史数据归档 |
| Kafka集群 | 3节点, 48C/256GB, 10GbE, 副本因子3 | 异步消息缓冲 |
5.
容灾与自动切换策略
- 热备站点保持关键服务热启动,数据采用同步或近同步复制(关键订单簿)与异步复制(历史日志)。
- 切换策略分为自动故障转移与人工评估两类:严重网络分区通常自动切换,复杂一致性问题人工干预。
- 灾备演练定期执行,包括网络断链、单机故障、整机房停电等场景,验证RTO/RPO是否达标。
- 灾备还包含DNS切换、BGP路由重定向与CDN缓存清理策略,确保对外服务连贯。
- 监控系统在主备切换时同步报警策略,避免重复报警或漏报。
6.
CDN、域名解析与DDoS防护
- 对外行情与网站采用CDN分发,静态资源和低敏感度行情使用边缘缓存减少源站压力。
- 域名解析采用多DNS提供商与监控,TTL策略在故障时快速降至几秒以便切换。
- DDoS防护采用ISP/云端清洗(scrubbing)与本地ACL限速相结合,清洗能力常见为100Gbps~Tbps级别。
- 黑白名单、速率限制、连接数阈值和行为分析用于缓解应用层攻击(L7)。
- 与安全厂商合作部署实时流量分析与自动拉黑策略,结合WAF保护接口安全。
7.
真实案例与经验教训
- 2010年“闪电崩盘(Flash Crash)”提醒了交易系统对异常流量与自动化策略的防护需求,需有回退与熔断机制。
- 2012年Knight Capital事件(公开报道)显示部署错误配置可能带来巨大损失,强调发布流程与回滚策略的重要性。
- 某些交易所通过将撮合引擎与外网完全物理隔离并在网关层做协议网关来降低风险,这类隔离提高安全但增加运维复杂度。
- 实战经验:关键路径尽量简化,越少中间组件越好;引入混合云时要严格定义数据平面与控制平面边界。
- 建议每年进行至少一次全量灾备演练、持续进行单点故障注入测试(Chaos Engineering),并把演练结果作为改进输入。
来源:探秘香港交易所机房内部布局与高可用性容灾设计