分布式系统的事务问题

1.分布式系统事务都是说的要保证一个方法里面的所有都成功了,才会成功,
我有一个问题,比如:

method() {                                                1
    do something                                          2
    boolean b = sendMsg('123'); // 消息队列发送出去         3
    if(b) {                                               4
        save();   // 如果发送成功了,保存数据,技术处理        5
    }                                                     6
    do something
}

如果在发送消息成功之后,这个时候保存数据的时候失败了,难道发送的消息还能收回来吗?
这个时候应该怎么做?如果是数据库我可以理解,没有提交可以回滚,难道消息也能回滚吗?

阅读 1.4k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进