RabbitMQ
RabbitMQ介绍
RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX,持久化。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
RabbitMQ 几个关键点描述及使用
-
Broker: 简单来说就是消息队列服务器实体 (重点)
- Exchange:消息交换机,他是指消息按什么规则,路由到那个队列。
- Queue:消息队列载体,每个消息都会被投入到一个或者多个队列。
- Binding:绑定,他的作用就是把exchange和queue按照路由规则绑定起来。
- Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
- vhost:虚拟主机,一个broker里可以开设多个vhost,作用不同用户权限分离。
- producer:消息生产者,就是投递消息的程序。
- consumer:消息消费者,就是接受消息的程序。
- channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
-
消息队列的使用过程ÿ