`

分布式事务10_最大努力通知形

 
阅读更多
分布式事务之TCC事务

https://blog.csdn.net/qq_27384769/article/details/79331027

(微服务)分布式事务-最大努力交付 && 消息最终一致性方案
https://segmentfault.com/a/1190000011479826

分布式事务方案:最大努力通知方案
https://blog.csdn.net/zsh2050/article/details/78034094
最大努力通知方案主要也是借助MQ消息系统来进行事务控制,这一点与可靠消息最终一致方案一样。看来MQ中间件确实在一个分布式系统架构中,扮演者重要的角色。最大努力通知方案是比较简单的分布式事务方案,它本质上就是通过定期校对,实现数据一致性。



       一.最大努力通知方案的实现

       1.业务活动的主动方,在完成业务处理之后,向业务活动的被动方发送消息,允许消息丢失。
       2.主动方可以设置时间阶梯型通知规则,在通知失败后按规则重复通知,直到通知N次后不再通知。
       3.主动方提供校对查询接口给被动方按需校对查询,用于恢复丢失的业务消息。
       4.业务活动的被动方如果正常接收了数据,就正常返回响应,并结束事务。
       5.如果被动方没有正常接收,根据定时策略,向业务活动主动方查询,恢复丢失的业务消息。



        二.最大努力通知方案的特点

       1.用到的服务模式:可查询操作、幂等操作。

       2.被动方的处理结果不影响主动方的处理结果;

       2.适用于对业务最终一致性的时间敏感度低的系统;

       3.适合跨企业的系统间的操作,或者企业内部比较独立的系统间的操作,比如银行通知、商户通知等;



        三.最大努力通知方案的设计

        相比于可靠消息最终一致方案,最大努力通知方案设计上比较简单,主要是由两部分构成。

        1.实时消息服务(MQ):接收主动方发送的MQ消息。

        2.通知服务子系统:监听MQ消息,当收到消息后,向被动方发送通知(一般是URL方式),同时生成通知记录。如果没有接收到被动方的返回消息,就根据通知记录进行重复通知。



       最大努力通知方案实现方式比较简单,本质上就是通过定期校对,适用于数据一致性时间要求不太高的场合,其实不把它看作是分布式事务方案,只认为是一种跨平台的数据处理方案也是可以的。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics