消息事务是在生产者producer到broker或broker到consumer过程中同一个session中发生的,保证几条消息在发送过程中的原子性。
在支持事务的session中,producer发送message时在message中带有transactionID。
broker收到message后判断是否有transactionID,如果有就把message保存在transaction store中,等待commit或者rollback消息。
消息生产者-异步发送
消息生产者使用持久(persistent)传递模式发送消息的时候,Producer.send() 方法会被阻塞,直到 broker 发送一个确认消息给生产者(ProducerAck),这个确认消息暗示broker已经成功接收到消息并把消息保存到二级存储中。这个过程通常称为同步发送。
2018年11月12日大约 4 分钟