RabbitMQ
文章平均质量分 83
RabbitMQ
吾家陈小白
这个作者很懒,什么都没留下…
展开
-
RabbitMQ核心概念
headers是一个键值对类型,发送者发送消息时将这些键值对放到basicProperties对象中的headers字段中,队列绑定交换机时绑定一些键值对,当两者匹配时,队列就可以收到消息。图示说明: 消息1附带的键值对与Q9绑定键值对的color匹配、speed不匹配,但是Q9的x-match设置为any,因此只要有一项匹配消息1就可以被分发到Q9。信道是建立在真实的TCP连接内的虚拟连接, AMQP 命令都是通过信道发出去的,不管是发布消息、订阅队列还是接收消息,这些动作都是通过信道完成。原创 2022-09-06 19:33:05 · 920 阅读 · 0 评论 -
rabbitMQ的有序性、可靠性、幂等性以及可靠性
但如果RabbitMQ宕机重启后正常运行没有持久化exchange,那么生产者此时无法发送消息到RabbitMQ上,因为RabbitMQ服务重启之后,exchange将不复存在了,所以一般都会持久化。幂等性的意思是对于同一操作发起的一次请求或者多次请求的结果是一致的,幂等性可以保障重复消费问题。解决方案每个消息用一个唯一标识来区分,消费前先判断标识有没有被消费过,若已消费过,则直接ACK。确认机制分为两个方面,一个是消息发送确认,另一个是消息消费确认机制。方案一开启事务(不推荐,效率差)...原创 2022-07-25 19:31:37 · 1202 阅读 · 0 评论 -
使用docker安装rabbitMQ单机和集群环境
Rabbit模式大概分为以下三种单一模式、普通模式、镜像模式最简单的情况,非集群模式默认的集群模式,对于队列(queue)来说,消息实体只存在于其中一个节点,A、B两个节点仅有相同的元数据,即队列结构。当消息进入A节点的队列(queue)中后,消费者(consumer)从B节点拉取时,RabbitMQ会临时在A、B间进行消息传输,把A中的消息实体取出并经过B发送给消费者(consumer)。所以消费者(consumer)应尽量连接每一个节点,从中取消息。.........原创 2022-07-25 19:19:07 · 460 阅读 · 0 评论