MQ学习记录
RocketMQ
- 关于事务,RocketMQ会定时(1分钟)回查生产者发送的事务消息,如果是
prepared
状态则会向Producer
发起CheckTransaction
请求,根据返回结果来决定是回滚还是继续执行 - 消费超时会一直重试
RabbitMQ
- 消息发送到交换机,然后根据消息的
routing_key
和交换机类型,自动发送到相应的队列
中 - 若交换机没有相关联的队列,或关联的队列不存在,则消息会 被抛弃
所谓的几种类型的交换机,其实只是交换机查找对应队列的方式:
- Direct: 直连,将消息发送到
路由键
同名的队列上(不能指定交换机名称) -- 只全等判断路由键
,不关心绑定
关系(一对一) - Fanout: 扇形,将消息发送到
与当前交换机有绑定关系
的队列上 -- 只判断绑定
关系,不关心路由键
(一对多) - Topic: 主题,将消息发送到 消息的
路由键
与 队列绑定的路由键
相匹配的队列上 -- 在绑定
关系基础上再匹配路由键
(多对多)
- Direct: 直连,将消息发送到