部门一直在用kafka作为消息中间件,但很多大厂会考虑使用RocketMQ,特来记录一下RocketMQ的相关知识。
RocketMQ是什么
百度
RocketMQ如何保证消息的可靠性
1、Producer 向RocketMQ发送一个 half message (该message不能被消费)
2、RocketMQ返回一个half message success 的响应给Producer。这个时候就形成了一个half message了,此时这个message是不能被消费的
注意:这个步骤可能会因为网络等原因失败,可能你没收到RocketMQ返回的响应,那么就需要重试发送half message,知道成功
3、调用核心交易链路
4、链路响应
5、如果成功 commit message,如果失败 rollback message
6、接口回调判断到底是commit还是rollback
7、消费者消费消息
8、消费成功 ack message。消费失败 RocketMQ 重新投递消息