消息安全发送策略?
- 设置mandatory = true参数,添加监听事件
- 设置备份交换机
- 事务机制
- 异步确认机制
设置mandatory = tue
exchange根据自身类型和消息routingKey无法 匹配到合适队列,broker就会调用basic.return 方法 ,将消息通知生产者,否则 设置false ,broker将消息直接丢弃
消息投递路径
生产者 -> Broker -> Exchange -> Queue -> 消费者
spring + rabbit实现方案
- 开启confirm模式
- 消息 -> Exchange触发confirmCallback回调
- 设置回调函数
- 消息 -> Queue触发returnCallback回调
exchange三种类型fanout direct topic区别?
针对消费者
- fanout - 不需要配置routerkey 所有队列都可以接收到信息
- direct - 直连 routerkey需要完全匹配的队列才能接受到数据
- topic - 模糊匹配路由key 的队列 才会接收到数据