基本上,主流消息队列现在提供了完整的消息可靠性保证机制,即使网络中断或硬件故障发生了,它基本上可以确保在消息传输过程中不会丢失消息。
关键是要了解消息队列如何可靠地传递消息,以及如何使用和配置消息队列以避免丢失消息。
选项:使用消息队列的有序性验证消息是否丢失。具体方法是将每个消息添加到每个消息中。连续性。如果序列号是不连续的,则意味着消息丢失以及根据缺乏序列号的特定损失的信息是什么。
诸如KAFKA或RocketMQ之类的消息队列不能保证指定主题上的消息顺序,但是在主题下的指定分区中,可以有序地保证该消息。在发送消息时必须指定分区,否则不可能是不可能的为了确保该消息是否连续。在同一时间,最好确保消费者的数量与分区的数量一致,以便代码实现的逻辑相对简单。
此外,如果生产者是多个计算的部署,同时添加连续序列,则有必要增加生产者徽标,以便消费者可以根据不同的生产商确定数据序列号是否是连续的。
常见消息队列提供拦截器机制,也就是说,在消息发送或消息接收处理之前,可以处理或检查消息。我们可以使用此机制来实现消息数据的注入序列号,或者消费者中的消费者最终是检测序列号的连续性。这样做的优点是避免入侵商业法规。