【JavaP6大纲】分布式事务篇:最大努力通知

简介: 【JavaP6大纲】分布式事务篇:最大努力通知

最大努力通知?


最大努力通知

其文我觉得本地消息表也可以算最大努力, 事务消息也可以算最大努力。

就本地消息表来说会有后台任务定时去查看 未完成的消息,然后去调用对应的服务,当一个消息多次调用都失败的时候可以记录下然后引入人工, 或者直接舍弃。这其实算是最大努力了。

事务消息也是一样,当半消息被 commit - 了之后确实就是普通消息了,如果订阅者一直不消费或者消费不了则会一直重试,到最后进入死信队列。其实这也算最大络力。

所以最大努力通知其实只是表明了一种柔性事务的思想:我已经尽力我最大的努力想达成事务的最终致了。适用于对时间不敏感的业务,例如短信通知。

各个场景对比的解决方案:

2PC 和3PC 是一种强一致性事务,不过还是有数据不一致,阻塞等风险,而且只能用在数据库层面。

而TCC是一种补偿性事务思想,适用的范围更广,在业务层面实现,因此对业务的侵入性较大,每个操作都需要实现对应的三个方法。

本地消息、事务消息和最大努力通知其实都是最终一致性事务,因此适用于一些对时间不敏感的业务。

相关文章
|
存储 关系型数据库 MySQL
【JavaP6大纲】分布式事务篇:BASE理论
【JavaP6大纲】分布式事务篇:BASE理论
109 0
【JavaP6大纲】分布式事务篇:CAP理论
【JavaP6大纲】分布式事务篇:CAP理论
【JavaP6大纲】分布式事务篇:两阶段提交(2PC)
【JavaP6大纲】分布式事务篇:两阶段提交(2PC)
113 0
【JavaP6大纲】分布式事务篇:三阶段提交(3PC)
【JavaP6大纲】分布式事务篇:三阶段提交(3PC)
101 0
|
程序员
【JavaP6大纲】分布式事务篇:补偿事务(TCC)
【JavaP6大纲】分布式事务篇:补偿事务(TCC)
220 0
|
消息中间件 Kafka 数据库
【JavaP6大纲】分布式事务篇:MQ 事务消息
【JavaP6大纲】分布式事务篇:MQ 事务消息
116 0
|
消息中间件 数据库 RocketMQ
【JavaP6大纲】分布式事务篇:可靠消息最终一致性方案
【JavaP6大纲】分布式事务篇:可靠消息最终一致性方案
124 0
【JavaP6大纲】Zookeeper篇:分布式锁
【JavaP6大纲】Zookeeper篇:分布式锁
|
负载均衡 Dubbo 应用服务中间件
【JavaP6大纲】Dubbo篇:分布式服务接口请求的顺序性如何保证?
【JavaP6大纲】Dubbo篇:分布式服务接口请求的顺序性如何保证?
|
存储 NoSQL Java
【JavaP6大纲】分布式会话篇:集群部署时的分布式 Session 如何实现?
【JavaP6大纲】分布式会话篇:集群部署时的分布式 Session 如何实现?

热门文章

最新文章