RabbitMQ面试注意
端口:5672 页面访问:15672
1,MQ优缺点
优:异步 削峰 解耦
缺:系统复杂性提高,增加维护成本
2,如何保证消息不丢失
生产者-->交换机 confirm确认模式
交换机-->队列 return回退模式
队列-->消费者 basicAck 手动确认模式
3,队列中 消息大小是否有限制?数量是否有限制?
消息大小有限制 , 数量无限制
4,怎么保证幂等性(怎么保证消息不从重复消费)
幂等性的实质是:对于一个资源,不管你请求一次还是请求多次,对该资源本身造成的影响应该是相同的
幂等性问题通俗点讲就是保证数据不被重复消费,同时数据也不能少,也就是数据一致性问题
MQ的幂等性应该保障在消费端
1,全局唯一id + mysql / redis
消费者获取到消息后先根据id去查询redis/db是否存在该消息
如果不存在,则正常消费,消费完毕后写入redis/db
如果存在,则证明消息被消费过,直接丢弃
5,消息丢失问题
日夜颠倒头发少 ,单纯好骗恋爱脑 ,会背九九乘法表 ,下雨只会往家跑 ,搭讪只会说你好 ---- 2050781802@qq.com