RocketMQ 在物流行业的应用与运维

文作者:丁威 - 中通快递资深架构师,《RocketMQ技术内幕》作者,Apache RocketMQ社区首席布道师,公众号「中间件兴趣圈」维护者。

01 物流行业的业务特点

物流行业有三大业务特点:业务量庞大、实效性容忍度高以及业务复杂度极高。

作为快递行业龙头企业,中通的日均订单量早已高达5000 万,双11期间可达日均到2亿+,日均消息流转超过万亿。

在快递行业的实际日常业务中,比如早上10点下单,可能需要下午2点钟揽件,因此我们能够容忍分钟级甚至小时级的延迟。针对包裹拦截、路由变更等场景需要保证一定的时效性,但大多情况下只需尽可能保证即可。

中通快递为加盟制,其转运中心、分布中心以及网点都不在一家公司,因此业务逻辑、管控、结算等都较为复杂。

快递行业的业务系统结算、订单、运单采集等等对解耦性要求很高。此外,双十一期间流量可能为平时的3-4倍,因此也需要应对突发流量的能力。而RocketMQ的能力与我们的业务场景非常吻合,因此在快递行业的应用也是极为广泛。

02 RocketMQ在订单中心运用案例

中通基于RocketMQ构建订单中心的架构图如上。

用户在天猫或淘宝用电商平台进行下单后,订单会派至云服务器,中通自研的数据同步平台负责定位云服务器的变动日志,通过变动日志将其传入RocketMQ。

第二层链路为拼多多和京东等厂家,通过网关进入RocketMQ。

第三层为散件用户,也是通过网关进入RocketMQ。

流量到达RocketMQ以后,由订单域的消费者消费 消费者消息并写入数据库。后续的很多系统比如运单域、结算都需要这份数据,为了解耦,需要通过同步平台将数据在同步到另外topic,供各个业务系统进行订阅以及数据分发。

上述架构的关键在于如何保证 MQ 服务器性能与数据可靠性。比如 MQ 使用的刷盘策略是同步还是异步?是否开启transientStorePoolEnable提高性能?复制策略是同步还是异步?是否需要Dledger? 如何优雅运维?

RocketMQ在4.5.0版本之前即支持主从同步

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值