今天看啥  ›  专栏  ›  Java之间

面试官:如何保障消息100%投递成功、消息幂等性?

Java之间  · 公众号  · Java  · 2021-02-22 11:30
来源:kil57.cn/TcIUf一、前言我们小伙伴应该都听说够消息中间件MQ,如:RabbitMQ,RocketMQ,Kafka等。引入中间件的好处可以起到抗高并发,削峰,业务解耦的作用。如上图:(1)订单服务投递消息给MQ中间件 (2)物流服务监听MQ中间件消息,从而进行消费我们这篇文章讨论一下,如何保障订单服务把消息成功投递给MQ中间件,以RabbitMQ举例。二、分析问题小伙伴们对此会有些疑问,订单服务发起消息服务,返回成功不就成功了吗?如下面的伪代码:上面代码中,一般发送消息就是这么写的,小伙伴们觉得有什么问题吗?下边说一个场景,如果MQ服务器突然宕机了会出现什么情况?是不是我们订单服务发过去的消息全部没有了吗?是的,一般MQ中间件为了提高系统的吞吐量会 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照