RabbitMQ (入门概念篇)

         RabbitMQ是基于AMQP(Advanced Message Queuing Protocol)的可复用的消息系统,AMQP提供统一消息服务的应用层的标准高级消息队列协议,用于消息中间件的设计。

RabbitMQ的开发语言是Erlang,可以使完全不同的Application共享数据。是程序中解耦的一大利器,当程序中一些不需要及时返回且耗时时间比较长的逻辑,可以使用MQ进行异步处理,缩短了请求响应时间,吞吐就大了。

基本概念

1:Host :Server服务器主机

          (name主机名,port端口,VirtualHost虚拟主机,username用户名,password密码)

2:Exchange:交换机,用于指定消息按照什么规则,路由到什么队列。

               (name,交换机名称,type交换机类型,Durable是否持久化,AutoDelete是否自动删除)

      其中交换机类型包括(topic,direct,fanout,x-delayed-message)

3:Queue :队列,即消息的容器,每个消息都可以生产到一个或多个队列。

     (name:队列名称,Durable是否持久化,AutoDelete是否自动删除,NoAck是否消息确认)

4:RoutingKey:路由关键字。Exchange根据此进行消息投递。

5:Binding:绑定,按照路由关键字把Exchange和Queue绑定关联起来。

6:Channel:消息的传输信道。每一个连接,可建立多Channel,每个Channel代表一个会话。

7:Producer:生产者。发送消息的程序。

8:Consumer:消费者。接收消息的程序。

生产/消费的流程

  1:根据Server主机地址,端口,虚拟主机,账号和密码 设置ConnectionFactory

  2:创建新的连接 NewConnection

  3:创建通道 CreateChannel

  4:声明创建队列QueueDeclare

  5:发送消息Publish/接收消息Consume

  6:关闭通道CloseChannel

  8:关闭连接CloseConnection

猜你喜欢

转载自www.cnblogs.com/localhost2016/p/8875843.html