十分钟看懂RabbitMQ

一、什么是RabbitMQ:
rabbitmq是一种遵循AMQP协议,由Erlang语言开发的,消息传递的消息队列系统。

二、简单理解
 学过websocket的来理解rabbitMQ应该是非常简单的了,websocket是基于服务器和页面之间的通信协议,一次握手,多次通信。 而rabbitMQ就像是服务器之间的socket,一个服务器连上MQ监听,而另一个服务器只要通过MQ发送消息就能被监听服务器所接收。

  但是MQ和socket还是有区别的,socket相当于是页面直接监听服务器。而MQ就是服务器之间的中转站,例如邮箱,一个人投递信件给邮箱,另一个人去邮箱取,他们中间没有直接的关系,所以耦合度相比socket小了很多。
  十分钟看懂RabbitMQ_第1张图片

三、使用
首先呢他是用来做服务器之间通讯,是一个中间仓库。
1.解耦性:降低服务器之间的耦合,
哪怕是一台服务器挂了,另外一台服务器也不会报错或者休克,反正他监听的是MQ,只要服务器恢复再重新连上MQ发送消息,监听服务器就能再次接收。
2.适用性:不只简单的一对一,可以一对多,多对一,只要有密码,谁都可以取谁都可以存。就想存包处一样,用特定密码存取。

四、流程
生产者–交换器–队列—消费者
十分钟看懂RabbitMQ_第2张图片

交换器:可以根据不同的关键字,将信息发送到不同的队列。(分流)。

五、特点
1.不能批量处理,一条一条存,一条一条取。
2.ACK机制:接到消息后,消费者会有反馈,反馈完成队列会删除这条消息,没有反馈则保留。

你可能感兴趣的:(消息队列)