一、如何保证消息不丢失
保证消息不丢失,主要可以从四个方面处理:
-
生产者发送消息 消息发送确认机制、事务消息。
-
broker主从同步 Raft同步策略,二阶段提交,提交总数>集群数/2。
-
持久化策略 同步刷盘策略,会增加响应时间,减少吞吐量
-
消费者消费消息 消息者消息确认机制
二、如何保证消息顺序性
消息队列FIFO的设计天生就可以保证这一组消息的有序,要保证消息顺序性,可从两个角度做处理:
- 生产端,将有顺序要求的消息发送至同一个队列中。
- 消费端,采用同步消费策略。
三、如何处理消息积压
生产者流控管理、提高消费能力(增加消费者、增加消费线程、批量处理)