# 分布式消息架构

# 概述

分布式消息是针对于多服务,微服务场景下的消息处理能力,包括分布式事务和常用消息管理能力,有 TCC/MQ/Seata 等多种解决方案, 平台以避免分布式事务为基础原则,能不使用事务则不使用。

# 本内容你将获得

  • 消息事务的架构设计
  • 消息的使用场景
  • 消息的处理思路和流程

# 架构设计

消息通过集成多种引擎,规避复杂度和场景,同时提供出公共的消息接口能力,针对于中小型项目使用场景, 是基础研发中台的重要能力之一,以下为架构设计:

架构说明 :

  • 消息管理平台封装了消息的统一管理能力,包括统计和业务接口,规避消息的复杂度
  • 集成多种消息能力,这里主要集成 kafka/redis/rocketmq 三种引擎,其中默认是 redis 消息
  • 业务通过本地事务之后,发送到消息管理平台,消费端处理业务,完成业务之后,清理消息
  • 消息管理平台集成消息通用的事务管理能力,包括补偿机制,异常机制,业务集成机制等

# 消息使用场景

这里主要集成的是消息,主要的考虑场景是简单,便于业务处理,在强事务性的处理,通过服务规划和多数据库能力上来处理这个, 这里的消息使用场景不仅仅是事务上的使用场景,这里主要列举的包括几个方面:

  • 多服务分布式事务,比如微服务事务
  • 多服务业务解耦操作,比如多应用拆分
  • 大批量异步消息能力,比如秒杀

# 其它