其他分享
首页 > 其他分享> > Rocketmq消费面试总结

Rocketmq消费面试总结

作者:互联网

1 事务消息

并不是真正意义上分布式事务的实现,确保生产者本地事务完成后,一定会把消息发送到broker节点,至于该消息什么时候消费,生产者无法控制。

适合的业务场景:生产者发送 半消息,发送成功后得到消息的UNIQ_ID作为事务ID,半消息就是broker会将原topic和queueid保存到properties里,然后保存到commitLog中。由于消费者这边订阅的是原topic,所以此时消费者还无法消费该消息。broker会把事务id和消息偏移量待会给生产者。

生产者如果本地事务成功,会再次发消息,消息类型是commit,内容包括之前的偏移量,broker收到后,查找之前的半消息,从中取出来原topic和queueid,进行保存。这样原消费者就能够消费了。

问 : 如果长时间broker收不到commit消息怎么办。

broker有定时任务,会调用接口查询事务执行情况,如果回查成功还是会将半消息提交

标签:总结,queueid,事务,生产者,broker,topic,面试,消息,Rocketmq
来源: https://www.cnblogs.com/juniorMa/p/15260150.html