架构设计:SpringBoot + SpringCloud+ MySQL+ Mybatis +Redis + Mongo+ RocketMQ + ShardingSphere
项目描述:订单管道,南航自研第三代中台化产品,目前承担南航直销的机+X产品聚合下单功能,校验和预扣库存接口由各产品方提供,统一下单后,由收银台进行合单支付。里面包含大量的多线程,异步MQ消息去调用或者同步数据给各业务方系统。
项目职责:
负责项目日常需求开发维护、协同多个销售方接入统一下单管道;
主导订单号生成流程的重构和性能优化,并将订单号生成抽象成独立的服务;取代了原有数据库自增Id方案,解决了可读性差和信息泄露等风险,生成的订单号集成了日期、业务类型、时间戳、机器码等信息便于运营排查与数据分片。
主导对下单过程中订单校验、库存预扣、以及订单取消、支付回调、订单列表等流程重构,设计策略工厂使其业务代码解耦,减少上线故障率。
订单库单表数据量达 1.2 亿,列表查询耗时超 3s,大促期间频繁告警。协助架构师参与分库分表改造,负责路由策略实现、双写一致性校验、冷热数据归档等流程。
重构日志输出规范、日志敏感信息加解密、定义全局TraceId完善日志链路提高故障排查效率。
基于订单延迟取消、订单延迟消息提醒等延迟场景,采用延迟MQ+定时扫库+即时消费混合架构,通过RocketMQ 的18级精确延迟配合XXL-Job任务对未处理的延迟订单进行二次兜底校验并任务推送MQ异步消费,保证业务100%的可靠性。
设计并实现串行调用外部系统改为使用CompletableFuture实现异步并行调用,并设计统一的外部调用模版,减少了调用外部总体等待时间,提高了代码复用性。