同一订单簿通常采用单线程或单分区串行处理,是为了保证价格优先和时间优先的确定性。多个线程同时修改订单簿会带来锁竞争、时间顺序争议和状态恢复复杂度。
单线程还有一个好处:撮合状态可以通过快照加追加日志恢复。只要输入命令顺序一致,重放后订单簿状态就应该一致。
性能扩展通常通过交易对分片完成,例如 BTC-USDT 一本簿、ETH-USDT 一本簿分别独立处理。行情推送、持久化、风控通知和清算可以通过事件流异步化。真正需要避免的是多个执行单元并发改同一本订单簿。