软考论文记忆助手
押题正文
主题列表
常见问题
新建主题
同步论文
随机抽背
质量检查
导入语料
导出JSON
编辑论文点
所属主题:
论微服务架构设计及其应用
技术点/功能点名称
排序号
在论文中的作用
正文展开点
解决的问题
线上交易从下单到完成,需要经历订单创建、库存处理、支付确认、消息通知、超时关闭和对账处理等多个环节,如果所有服务都采用同步调用,某个环节响应变慢就会影响用户主流程,也会放大外部支付渠道波动带来的影响
为什么选择它
在跨服务业务流程处理方面,我们采用异步消息协作来降低服务之间的耦合度,缓解活动高峰期的处理压力
解决的方法
为解决这一问题,项目组使用 RocketMQ 作为消息中间件,将订单状态变化、支付结果确认、库存释放和通知发送等过程通过消息方式衔接,xxl-job 用于定时处理超时订单和补偿任务
效果
通过异步消息协作,各服务只关注自身职责,高峰期可以利用消息队列削峰填谷,外部接口短暂异常时也不会直接阻塞下单主流程
不使用的劣势/风险
项目位置/技术/需求
在跨服务业务流程处理方面,我们采用异步消息协作来降低服务之间的耦合度,缓解活动高峰期的处理压力
具体的实现
实际运行中,用户提交订单后,订单服务只完成必要的订单记录和状态处理,库存、消息和对账等后续工作由相关服务根据消息异步处理
例子
以未支付订单关闭为例,定时任务发现订单超过支付时限后触发关闭处理,库存服务收到通知后释放占用库存,消息服务再提醒用户订单状态变化
记忆提示/背诵口诀
在跨服务业务流程处理方面,我们采用异步消息协作来降低服务之间的耦合度,缓解活动高峰期的处理压力 / 异步消息协作
备注
保存修改
返回详情