# 分布式消息架构
# 概述
分布式消息是针对于多服务,微服务场景下的消息处理能力,包括分布式事务和常用消息管理能力,有 TCC/MQ/Seata 等多种解决方案, 平台以避免分布式事务为基础原则,能不使用事务则不使用。
# 本内容你将获得
- 消息事务的架构设计
- 消息的使用场景
- 消息的处理思路和流程
# 架构设计
消息通过集成多种引擎,规避复杂度和场景,同时提供出公共的消息接口能力,针对于中小型项目使用场景, 是基础研发中台的重要能力之一,以下为架构设计:
架构说明 :
- 消息管理平台封装了消息的统一管理能力,包括统计和业务接口,规避消息的复杂度
- 集成多种消息能力,这里主要集成 kafka/redis/rocketmq 三种引擎,其中默认是 redis 消息
- 业务通过本地事务之后,发送到消息管理平台,消费端处理业务,完成业务之后,清理消息
- 消息管理平台集成消息通用的事务管理能力,包括补偿机制,异常机制,业务集成机制等
# 消息使用场景
这里主要集成的是消息,主要的考虑场景是简单,便于业务处理,在强事务性的处理,通过服务规划和多数据库能力上来处理这个, 这里的消息使用场景不仅仅是事务上的使用场景,这里主要列举的包括几个方面:
- 多服务分布式事务,比如微服务事务
- 多服务业务解耦操作,比如多应用拆分
- 大批量异步消息能力,比如秒杀
# 其它
- 无