Rabbitmq相关概念

Rabbitmq相关图

生产者(P)

消息的生产者服务器

消费者(C)

消息的消费者blog

Exchange(交换器)

交换器,用来接收生产者发送过来的消息,并将这些消息路由给服务器中的队列。经常使用的交换机类型rabbitmq

  • direct:发布与订阅,需彻底匹配
  • fanout: 广播
  • topic:主体、规则匹配 * 匹配一个,#匹配多个
  • headers

Binding

绑定,用户交换机与消息队列之间的关联。一个绑定是基于路由键将交换机和消息队列链接起来的路由规则队列

Routing key 路由键

路由键: rabbitmq 决定消息投递到哪一个队列的规则 消息经过路由键绑定到交换器,消息发送到MQ服务器时,消息将拥有一个路由键,即便是空的,MQ也会将其和绑定使用的路由键进行匹配。若是相匹配,消息将投递到该队列。若是不匹配,消息将会进入黑洞资源

Connection链接

客户单经过TCP链接rabbitmq服务器路由

Channel信道

  • 是TCP里面的虚拟链接。如,电缆至关于TCP,信道是一条独立的光纤束, 一条TCP链接上建立多少条信道是没有限制的
  • TCP一旦打开,就会建立AMQP信道
  • 不管是发布消息、接受消息、订阅队列,这些动做都是经过信道完成的
    rabbitmq为何须要信道?为何不是经过TCP直接通讯
  • TCP的建立和销毁,开销大,建立3次握手, 销毁4次握手
  • 不用信道,那应用程序使用TCP链接到rabbit, 高峰时每秒成千上万的链接会形成资源的浪费

交换机和队列的关系

交换器是经过路由键和队列绑定在一块儿,若是消息拥有路由键跟队列和交换器的路由键匹配,那么消息就会被路由到该绑定的队列当中去 也就是说,消息到队列的过程当中,消息首先通过交换机,接下来交换机再经过路由键匹配分发消息到具体的队列中去。 路由键能够理解为匹配的规则消息队列

相关文章
相关标签/搜索