![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RabbitMQ
文章平均质量分 78
齐天qaq
生活给我一颗酸柠檬,我把它酿成了柠檬汽水。
展开
-
RabbitMQ如何保证消息不丢失
At most once:至多一次。消息在传递时,最多会被送达一次。也就是说,没什么消息可靠性保证,允许丢消息。At least once:至少一次。消息在传递时,至少会被送达一次。也就是说,不允许丢消息,但是允许有少量重复消息出现。Exactly once:恰好一次。消息在传递时,只会被送达一次,不允许丢失也不允许重复,这个是最高的等级 这个服务质量标准不仅适用于MQTT,对所有的消息队列都是适用的。转载 2023-11-23 14:55:40 · 151 阅读 · 0 评论 -
如何保证RabbitMQ消息不被重复消费(幂等性)
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。转载 2023-11-23 14:01:28 · 591 阅读 · 0 评论 -
RabbitMQ基础概念、交换机类型
也就是表明不同的类型将决定绑定的Queue不同,换言之就是说生产者发送了一个消息,Routing Key的规则是A,那么生产者会将Routing Key=A的消息推送到Exchange中,这时候Exchange中会有自己的规则,对应的规则去筛选生产者发来的消息,如果能够对应上Exchange的内部规则就将消息推送到对应的Queue中去。headers类型的Exchange不依赖于routing key与binding key的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配。转载 2023-11-23 11:50:00 · 45 阅读 · 0 评论 -
RabbitMQ运转流程
主要是为了生产者和mq之间的一个确认机制,当消息到没到mq,会提供相应的回调,在项目中 RabbitSender 这个类中进行了相应的配置。(1) 消费者连接到 RabbitMQ Broker ,建立一个连接(Connection ,开启一个信道(Channel)(2) 消费者向 RabbitMQ Broker 请求消费相应队列中的消息,可能会设置相应的回调函数, 以及做 些准备工作。(6) 相应的交换器根据接收到的路由键查找相匹配的队列 如果找到 ,则将从生产者发送过来的消息存入相应的队列中。转载 2023-11-23 10:58:48 · 86 阅读 · 0 评论