一.为啥要学RabbitMQ?
大多数应用中,可以通过消息服务中间件来提升系统异步通信、扩展解耦能力
二.RabbitMQ简介
- RabbitMQ是一个由erlang开发的AMQP
- Message:消息他由消息头和消息体组成,消息体是不透明的,而消息头则由一系列的可选属性组成,包括routing-key(路由键)、priority(优先权)、delivery-mode(指出该消息可能需要持久性存储)等
- Publisher:消息的生产者,也是一个向交换器发布消息的客户端应用程序
- Exchange:交换器,用来接收生产者发送的消息并将这些消息路由给服务器中的队列。Exchange有4种类型:direct(默认),fanout, topic, 和headers,不同类型的Exchange转发消息的策略有
所区别
-
Queue:消息队列,用来保存消息直到发送给消费者
-
Binding:用于消息队列和交换器之间的关联,exchange和queue的绑定可以是多对多的
-
Connection:网络连接,比如一个TCP连接
-
Channel:信道,多路复用连接中的一条独立的双向数据流通道,AMQP命令都是通过信道发出去的
-
Consumer:消息的消费者
-
Virtual Host:虚拟主机,表示一批交换器
-
Broker:表示消息队列服务器实体