业务高速增长,如祺出行如何用腾讯云消息队列 RocketMQ 应对挑战

2023-06-02 0 759

做为长安汽车旗下的智慧乘车网络平台,如祺乘车上线四年时间,使用者体量和订货量由此可见路快速增长。在过去的 2022 年,如祺乘车网络平台累计注册使用者突破 1800 万,环比快速增长 64%,年度订货总量超 7000 万,环比快速增长 52%。

高速路快速增长的使用者体量和订货量,对技术网络平台提出更高要求。随着专特快销售业务的快速快速增长,越来越多销售业务市场需求与销售业务主流程谐振,引致调用链太长,USB延后增加了十倍,整体构架无论是性能还是可扩展性,都存在很大的信用风险,遇到假日高峰,随时都有崩溃的信用风险。

为了提升构架的灵活性,保障使用者新体验,如祺乘车于 2021 年启动构架升级换代。其中,引入最新消息堆栈做触发器化是整个分布式控制系统构架设计的核心手段之一。最新消息堆栈是一种触发器通讯监督机制,能将最新消息从推送方推送到转交方,而不需要立即处置。这种监督机制能带来以下好处:

触发器化处置:最新消息堆栈能将不同模块或服务之间的通讯触发器化,使得使用者付款速度更快,新体验更好,提升控制系统的反应速度和客运量。 输入输出处置:最新消息堆栈能将最新消息导入到多个复本中,确保即使某个结点出现故障,最新消息也不会丢失。 网络流量控制:最新消息堆栈能对最新消息进行缓冲器和开闭,防止最新消息推送方推送过多的请求引致转交方处置不过来,从而提升控制系统的灵活性。

最新消息堆栈THF1

2019 年以来,如祺乘车主要选用 CMQ 做为订货主销售业务的最新消息堆栈,CMQ 是一种小体量分布式控制系统最新消息控制系统,它具备可可扩展性、高客运量、海量数据存储和高mammalian能力等特征,能协助使用者在分布式控制系统控制系统中进行触发器通讯,提升插件的易用性和可扩展性,但由于 CMQ 协议和机能单纯,不支持外交事务最新消息,顺序最新消息和小体量延后最新消息等不足之处,研发团队决定选用 RocketMQ 做为升级换代方案,满足用户日益繁杂的订货销售业务情景。

RocketMQ 介绍

Apache RocketMQ 是一个开放源码的分布式控制系统最新NSS,因其构架单纯、销售业务机能强大、具备很强可扩展性等特征被众多企业开发者以及云厂商选用,它具备高效能、可可扩展性、高效率和易于使用等优势,尤其在互联网、大数据、开发工具、电子货币等在线销售业务情景成为开发人员首选的最新消息堆栈产品。

RocketMQ 能协助销售业务实现触发器通讯、流量削峰、数据同步和笔记处置等应用情景, 还提供更多了多样的高级优点,比如外交事务最新消息、间歇最新消息、重传最新消息和死信最新消息等特色机能,百度云针对 RocketMQ 做了大量的优化增强,在完全相容社区版的基础上,提供更多了秒级间歇最新消息、命名空间,最新消息轨迹和多样的监控监视系统指标等虚拟化优点,能很好地满足用户如祺订货控制系统等各种繁杂的最新消息处置市场需求。

如祺打车销售业务流程介绍

在整个付款流程中,从预估到付款,再从派单到开始服务,最后到费用结算,一共要经过 20+ 流程环节,其中计费订货控制系统是所有控制系统的核心,从使用者输入上下车地点,背后的销售业务控制系统就开始工作,比如营销控制系统查询使用者折扣和优惠、地图控制系统开始做路径规划、安全监控控制系统做分控计算、预派单控制系统提前做派单分析等,销售业务控制系统需要完成大量的计算任务,对数据的实时性、准确性和一致性要求非常高,并且涉及大量的控制系统交互,这对整个控制系统的灵活性要求提出很大的挑战。

通过 RocketMQ 做触发器化改造

业务高速增长,如祺出行如何用腾讯云消息队列 RocketMQ 应对挑战

在没有通过 RocketMQ 处置之前,各个控制系统之间的谐振度非常高,控制系统灵活性信用风险高,引入 RocketMQ 完成了付款触发器化改造, 大量任务触发器通讯处置,大大提升了订货销售业务控制系统的可扩展性和可靠性,其主要体现在以下几个方面:

付款速度 由于整个付款的流程都已经实现了触发器化,因此从询价到接单的整个流程只有 3-5 个单纯的同步操作,保障了整个付款的新体验。(在运力充足的前提下,大约 1.2s 就能完成接举个例子: 在付款前,控制系统会触发器计算好路程的近似路程公里数,假设地图服务出现延后或者异常,就能直接使用,保证了控制系统的可靠。

RocketMQ 在订货控制系统的应用

间歇最新消息情景

RocketMQ 开放源码社区版 (4.x 版本) 没有支持秒级精度的间歇最新消息方案,只能指定几个固定的延后级别,百度云在社区版的基础上,通过基于时间轮的调度引擎,先将间歇最新消息暂存在内部间歇最新消息堆栈,再通过调度引擎按指定的间歇时间,将消息调度到普通最新消息堆栈,下游消费方才能正常消费最新消息,默认最长能支持 40 天的间歇范围(如果购买了专业版的客户,能通过工单申请更长的间歇范围)。

业务高速增长,如祺出行如何用腾讯云消息队列 RocketMQ 应对挑战

在打车销售业务中,有大量的间歇最新消息情景,比如订货完成超过一间歇间后其状态自动流转,订货超过一间歇间未接单自动提醒等销售业务情景,在未接入 RocketMQ 之前,要依赖轮询数据库来实现,对数据库压力非常大,接入 RocketMQ 后,不仅大大缓解了数据库压力,控制系统的依赖关系也大量简化。

外交事务最新消息情景

外交事务最新消息是 Apache RocketMQ 提供更多的一种高级最新消息类型,支持在分布式控制系统情景下保障最新消息生产和本地外交事务的最终一致性,尤其是在对数据一致性要求高的交易情景有广泛的应用,主要核心过程如下。

生产者推送最新消息到 RocketMQ 中。 服务端收到最新消息后将最新消息存储到半最新消息 Topic 中。 当本地外交事务执行完成。 生产者主动将外交事务执行结果推送到 RocketMQ 中。 若本地外交事务执行结果超过一定期限还没反馈,RocketMQ 将执行回查逻辑。 生产者收到最新消息回查后,需要检查对应最新消息的本地外交事务执行的最终结果,并反馈外交事务状态,有以下三种情况: TransactionStatus.COMMIT 提交外交事务,消费者能消费到该最新消息。 TransactionStatus.ROLLBACK 回滚外交事务,最新消息被丢弃,消费者不会消费到该最新消息。 TransactionStatus.UNKNOW 无法判断状态,等待再次推送回查。 当事务执行成功,RocketMQ 将外交事务最新消息提交到 real topic,待消费者消费。

业务高速增长,如祺出行如何用腾讯云消息队列 RocketMQ 应对挑战

打车销售业务中,有多个销售业务控制系统涉及交易数据的一致性,通过外交事务最新消息和本地数据库外交事务结合,确保了控制系统之间数据的一致性,并且简化了销售业务开发的繁杂度。

顺序最新消息情景

顺序最新消息能保证同一分区顺序 key 的最新消息的消费顺序和推送顺序一致,常用于订货交易,金融,电商等销售业务情景,将同一使用者或订货的不同最新消息按照时序进行处置,避免处置最新消息乱序带来的补偿操作等繁杂度。

业务高速增长,如祺出行如何用腾讯云消息队列 RocketMQ 应对挑战

RocketMQ 上云的收益

相对于开放源码自建的 RocketMQ 解决方案,百度云提供更多了完全相容社区版 RocketMQ SDK 的能力,还提供更多了元数据导入工具,并且支持多 Namespace 在集群内做逻辑隔离,客户只需要改一行接入点信息就完成迁移工作。

除了方便客户从社区版做代码迁移外,百度云 RocketMQ 还提供更多了大量运维能力,支持多集群部署管控和动态扩缩容,开箱即用的监控大盘和指标监视系统能力,还支持最新消息轨迹、消费状态、异常诊断等多样的监控定位手段,和最新消息回溯、消费验证、测试最新消息、死信重发等便捷的机能,方便问题定位和日常维护。

未来展望

当前 RocketMQ 已经完全相容社区版本 4.x 系列版本,并且已经支持虚拟集群和专享集群等产品形态,满足用户使用者的不同使用情景。

2022 年 9 月,RocketMQ 社区已经发布了 5.x 版本,RocketMQ 5.x 引入了全新的弹性无状态代理模式,基于 gRPC 协议提供更多了新的更简洁易用的 SDK,并将当前的 Broker 职责进行拆分,对于客户端协议适配、权限管理、消费管理等计算逻辑进行抽离,独立无状态的代理角色提供服务,Broker 则继续专注于存储能力的持续优化。

2023 年 6 月,百度云将基于社区 RocketMQ 5.x 版本推出新的 Serverless 产品形态,在以下几个方面持续发力:

弹性计算和分层存储带来更低的使用成本。 新的 SDK 带来更好的开发新体验和多语言生态支持。 大数据生态更好的对接,更好的支持实时和流计算的新体验。

最终期待能够充分利用云原生带来的资源利用率的红利,以更低的成本,为客户带来全新的产品新体验。

连代码都没写就敢要融资:被ChatGPT带火的向量数据库,带来了一大波造富神话

《2023 大语言模型综合能力测评报告》出炉:以文心一言为代表的国内产品即将冲出重围

免费版“Github Copilot”,编程能力还翻倍?!谷歌硬刚微软,推出全新Colab编程网络平台

百度回应 Bing 成中国桌面搜索第一;阿里回应大裁员传闻;文心一言市场负责人怒怼科大讯飞|Q资讯

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务