消息可靠设计
2023-10-25 17:23:44 0 举报
当在低并发场景下,消息可靠增强设计参考模板
作者其他创作
大纲/内容
8
成功
下游消费服务进行消息消费处理
消息预处理
6
消息中心落库成功后通知上游服务
消息可靠设计
3
失败
下游业务处理完成后处理结果反馈中心
5
失败后处理服务
消息确认服务
成功后处理服务
步骤说明
消息中间件[MQ]
消息已接收处理
4
消息可靠中心
中心接收成功后同步消息状态到下游服务
下游xxx服务
--------------------------------------------------------------上游服务说明 i.消息处理状态在该服务领域存在一张持久化记录表; ii.在第一步业务处理和消息预处理状态是属于同一个事务; iii.中心和上游同步消息处理状态:准备、确认、完成/取消。--------------------------------------------------------------中心服务说明 i.预处理服务负责接收上游消息,并持久化记录; ii.确认服务负责通知上游消息已经顺利接收落库; iii.投递服务负责向对应的主题消息队列投递消息; iv.反馈接收服务负责接收下游处理结果,以及状态落库 v.反馈结果处理服务负责同步状态给下游,并根据成功和失败判断调 用下游消息处理完成后的上游后续处理(一般是不需要的)。 注:失败后的处理与成功后的处理互斥--------------------------------------------------------------下游服务说明 i.主题消费服务作为当前主题消息队列的处理入口,获取到消息后解析消息,并组装请求下游服务调用的入参调用业务服务; ii.业务服务需要自身保证业务处理幂等性,防止长时间未响应消息重复发送带来重复消费问题; iii.状态持久化服务负责把消息最终处理的状态持久化到下游服务领域的一张持久化表中。
2
下游消费服务调用下游业务处理服务
反馈结果
消息通过RPC发送中心进行持久化
反馈结果处理
下游
1
上游xxx服务
消息队列
状态同步
上游
投递
反馈结果接收
调用
状态持久化服务
主题消费服务
7
消息投递服务
消费
接收确认
消息预处理服务
确认成功后进行投递进消息队列
中心根据消息状态调用上游服务对应处理服务
0 条评论
下一页