1.消息是如何保障100% 得投递成功?
2.消息的幂等性
3.海量订单产生的业务高峰期,如何避免消息的重复消费问题?
4.Confirm确认消息、Return 返回消息
5.自定义消费者
6.消息的ACK与重回队列
7.消息的限流
8.TTL消息
9.死信队列(任何一个MQ都有死信队列的概念)
----------------------------------------------------如何保障100% 的投递成功--------------------------------------------------------------------------
什么是生产端的可靠性投递?
--1.保障消息的成功发送;2.保障MQ节点的成功接收;3.发送端收到MQ节点(Broker)确认应答;4.完善的消息补偿机制
生产端-可靠系投递(一)
BAT/TMD 互联网大厂的解决方案:
1.消息落库(1.将要发送的消息入库持久化,2.发出消息),对消息状态进行打标(没有应答的消息做轮询,设置次数的临界值);
2.消息的延迟投递,做二次确认,回调检查;
第一种消息落库的方式 ,在高并发情况下是否合适呢?
不合适,做两次入库持久化操作不适宜;
消息的延迟投递,做二次确认,回调检查 方式:Step1 消息落库后发送消息,Step2 第二条消息延迟检查发送()