分布式
分布式专栏
ambition_forever
闲谈莫论人非
展开
-
分布式事务
1、2PC 1、单点故障 2、效率不高 3、强一致性,但容易导致死锁2、TCC 1、效率高 2、开发复杂 3、代码可侵入 4、最终一致性3、可靠消息服务 1、rabbitmq 响应机制 最终一致性 2、rocketmq 事务消息能力 最终一致性4、SEATA ...原创 2021-11-28 15:10:19 · 1151 阅读 · 0 评论 -
怎样确保消息的可靠性投递?
1、生产阶段: 通过请求确认机制来保证,即生产者发送消息的Broker以后,Broker在成功收到消息以后,回发送ACK确认到生产者,生成者收到Broker发送的ACK确认以后,则认为消费发送成功了。如果迟迟收不到ACK,生产者会重试,或者抛出异常给用户。2、存储阶段:存储阶段只要 Broker 在正常运行,就不会出现丢失消息。但如果 Broker 出现了故障,比如进程死掉了或者服务器宕机了,还是可能会丢失消息。 如果是单实例Broker的化,可以设置...原创 2021-11-14 10:32:58 · 1339 阅读 · 0 评论 -
RocketMQ 中的分布式事务实现
1、生成者发送半消息到Broker。2、Broker在收到半消息以后向生产者发送半消息发送成功确认。3、执行本地事务。4、本地事务执行成功则生产者发送提交消息事务请求向Broker,上述半消息会被订阅消费者消费,本地事务执行失败则生产者发送回滚消息事务请求向Broker,上述半消息会被删除。5、Broker迟迟得不到提交或者回滚消息。RocketMQ中的事务实现中,增加了反查机制来解决事务消息提交失败的情况。 如果Producer在提交或者回滚事务的时候网络发生异常,Rock...原创 2021-11-13 18:08:44 · 1542 阅读 · 0 评论