可靠消息正向流程:
1.调用消息服务子系统-存储预发送消息接口,此时消息状态为预发送
2.3,业务操作,和发送业务操作通知在一个事务理,成功调用消息服务接口,将消息状态改为已确认未完成,并发送消息,
消费端接收到消息,执行业务操作并调用消息服务接口将状态置为成功(这是在一个事务里面)
消息状态确认子系统:
定时查询那些状态为预发送没确认的消息,调用业务接口查询业务执行结果。成功将状态改为确认并发送消息,失败删除消息。
消息恢复子系统:
定时查询那些状态为没确认的消息,重新发送消息。记录发送次数,可以采用一些策略。
消息管理子系统:
管理消息服务,对某些消息做一些操作;
优点:
1.消息服务独立部署,独立维护,独立伸缩。
2.消息存储可以按需选择不同的数据库来集成实现;
3.消息服务可以被相同的使用场景公用,降低重复建设消息服务成本;
4.弱化了对mq中间件的依赖
5.降低业务系统与消息系统间的耦合,有利于系统的扩展维护