说到RabbitMQ,就不能不提AMQP协定,因为RabbitMQ就是基于AMQP协定来实现的,咱们先来看看AMQP协定到底是什么
AMQP协定
AMQP,即Advanced Message Queuing Protocol,一个提供对立音讯服务的应用层规范高级音讯队列协定,是应用层协定的一个凋谢规范,为面向音讯的中间件设计。基于此协定的客户端与消息中间件可传递音讯,并不受客户端/中间件不同产品,不同的开发语言等条件的限度。更多的对于AMQP的信息,大家能够去百度百科查看
RabbitMQ次要组件
1.生产者(Producer):音讯生产者,生产音讯投递到交换机中的客户端
2.消费者(Consumer):音讯消费者,从队列中获取音讯生产的客户端
3.音讯(Message):蕴含有效载荷和标签,有效载荷指要传输的数据,标签形容了有效载荷,并且rabbitmq用它来决定谁取得音讯
4.信道(Channel):多路复用连贯中的一条独立的双向数据流通道
5.交换器(Exchange):服务器中的实体,用来接管生产者发送的音讯并将这些音讯路由给服务器中的队列
6.队列(Queue):一个命名实体,用来保留音讯直到发送给消费者
7.路由键(Routing Key):一个音讯头,交换器能够用这个音讯头决定如何路由某条音讯
8.虚拟主机(Virtual Host):一批交换器、音讯队列和相干对象。虚拟主机是共享雷同的身份认证和加密环境的独立服务器域。客户端应用程序在登录到服务器之后,能够抉择一个虚拟主机
RabbitMQ简略架构模型
队列通过路由键绑定到交换器,当生产者生产音讯后,将音讯投递到交换器中,交换器依据绑定的路由键,将音讯路由到对应的队列,而后由订阅该队列的消费者接管音讯并生产
对于RabbitMQ的装置,网上资源很多,这里就不再多说。RabbitMQ的依赖较多,能够应用Dokcer去装置