RocketMQ事务如何避免单点问题
如题,
- 一个RocketMQ事务包含两部分:消息投递和本地事务执行。
- 如果本地事务执行成功了,在向Broker发送确认消息之前宕掉了,那么如何保证这个分布式事务的正确执行?
- 按照RocketMQ的逻辑,如果出现此种情况,rocketmq会发送消息回查请求,可是此时该机器已宕机,无法对回查请求作出响应,那么如何判断事务成功还是失败了呢?
本质上RocketMQ的分布式事务还是采用的2PC协议,那么按理说也就绕不过单点问题。
或者说可以通过对同一事务作集群处理,总能找到一台未失效的机器?
还请大佬们解惑
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
反查逻辑写的好,就不会有问题;
如果机器没了,反查也不好使,只能人工介入
如何事务处理失败,回查也失败的话当然属于事务失败了。