21 kafka在整个交易系统中的流程是怎样的

vvEcho 2026-03-18 19:22:30
Categories: Tags:

用户下单-》网关层做loadbanlance-》调用订单服务生成对应的订单,此时订单状态为new, 同时写一个待发送消息表,消息状态为padding

然后异步发送订单创建的消息,消息发布成功后将订单状态更新为sent;异步发生消息会有个key,key为对应的对比值
然后会有多个撮合引擎订阅同一个分区消息,并行消费同时撮合;避免单节点故障

撮合引擎消费上游订单消息,将订单放入内存订单簿:
使用TreeMap按价格排序,使用ConcurrentLinkedQueue管理同价位的订单队列;
买单按价格从高到低排序,卖单按价格从低到高排序

执行撮合逻辑:匹配买卖订单,更新成交记录
生成成交消息(Trade Event)并投递 Kafka