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, 高峯時每秒成千上萬的鏈接會形成資源的浪費

交換機和隊列的關係

交換器是經過路由鍵和隊列綁定在一塊兒,若是消息擁有路由鍵跟隊列和交換器的路由鍵匹配,那麼消息就會被路由到該綁定的隊列當中去 也就是說,消息到隊列的過程當中,消息首先通過交換機,接下來交換機再經過路由鍵匹配分發消息到具體的隊列中去。 路由鍵能夠理解爲匹配的規則消息隊列

相關文章
相關標籤/搜索