RabiitMq
生产者消费模型
消息队列 存储生产者发送的消息 直到消费者来消费(队列可持久化和多质量服务(qos0,1,2))
将消息发送到队列的角色成为生产者
从队列中取出消息的称之为消费者(消费者可以是一个 可以是多个)
通知机制:消费者会每隔一段时间像消息队列询问是否有新消息。轮询
生产者主动发给消费者称为推送
确认机制:消费者确认消息要发送一条消息给队列(不然队列会重发或发给其它消费者)
经过拒绝的消息将会被放到死信队列中。
---
交换机类型:
直连交换机
扇出交换机
主题交换机
头部交换机
Direct Exchange:直联交换机,基于Routing Key精确匹配。
Fanout Exchange:扇出交换机,广播所有消息给绑定的所有队列。
Topic Exchange:主题交换机,基于通配符模式匹配Routing Key。
Headers Exchange:头部交换机,根据消息的header属性进行匹配
--
消息丢失解决:从生产者到消息队列丢失
生产者 开事务 发送有异常就会回滚 tranciation
第二种 cofirm 开启后 信道上的所有消息都会被指派唯一id
当所有都到达后 会发送一个ack请求告诉生产者到了
从消息队列到消费者丢失
消息队列丢数据 开启持久化磁盘的配置
1、将queue的持久化标识durable设置为true,则代表是一个持久的队列
2、发送消息的时候将deliveryMode=2
---
消费者丢数据
消费者将自动确认模式改为手动确认ack。<

最低0.47元/天 解锁文章
172万+

被折叠的 条评论
为什么被折叠?



