软考论文记忆助手
押题正文
主题列表
常见问题
新建主题
同步论文
随机抽背
质量检查
导入语料
导出JSON
编辑论文点
所属主题:
论事件驱动架构
技术点/功能点名称
排序号
在论文中的作用
正文展开点
解决的问题
线上商品活动具有明显的峰值特征,如果订单创建后同步等待库存处理、支付状态更新、消息通知和运营统计全部完成,用户下单响应时间会明显增加,某一模块处理变慢还可能影响整个交易链路
为什么选择它
在模块异步协作方面,我们采用 RocketMQ 作为消息队列连接件来满足活动高峰削峰和服务解耦的要求
解决的方法
为解决这一问题,我们通过消息队列发布和订阅业务事件,使各模块围绕事件进行异步协作
效果
通过这种消息队列协作方式,核心交易请求不再等待所有后续动作完成,既降低了模块之间的耦合度,又能在活动高峰期平滑处理突发流量,提高了系统整体稳定性
不使用的劣势/风险
项目位置/技术/需求
在模块异步协作方面,我们采用 RocketMQ 作为消息队列连接件来满足活动高峰削峰和服务解耦的要求
具体的实现
具体做法是,订单、支付等模块在完成自身核心处理后发布业务事件,库存、消息、对账和报表等模块按照职责订阅并处理;Redis 用于支撑热点库存和幂等标识,MySQL 保存最终交易和状态数据
例子
以支付确认场景为例,支付结果返回后,系统通过消息队列通知订单状态更新、用户消息提醒和运营统计处理,各模块按自身节奏完成工作
记忆提示/背诵口诀
在模块异步协作方面,我们采用 RocketMQ 作为消息队列连接件来满足活动高峰削峰和服务解耦的要求 / 消息队列协作
备注
保存修改
返回详情