线上服务器宕机时,如何保证数据100%不丢失( 二 )


这样的话,就可以保证这条订单消息不会因为某个仓储服务实例的宕机而丢失,他会确保必须由某个仓储服务实例完成这条订单消息的调度发货处理,然后才会删除那条订单消息 。
四、总结 tips最后再来一张图,大家直观的感受一下:

线上服务器宕机时,如何保证数据100%不丢失

文章插图
 
好了,各位同学,这篇文章是不是相对稍微深入一点点,让大家了解到了一些使用MQ技术时候要考虑的一些问题?
实际上无论是RocketMQ、Kafka还是RabbitMQ,都有类似的autoAck或者是手动ack的机制 。
线上生产环境中运行时,你必须要考虑到消费者服务可能宕机的问题 。
如果消费者服务没处理完消息就自己宕机了,那么一定会导致部分消息的丢失,进而影响核心业务流程的运转 。
因此大家在线上使用MQ时,一定要充分考虑这些潜在问题,同时结合具体的MQ提供的一些API、参数来进行合理设置,确保消息不要随意丢失 。




推荐阅读