重溫RabbitMQ

RabbitMQ是用Erlang語言實現的,它有幾個概念
broker:消息隊列服務器實體
exchange:消息交換機,它指定消息按什麼規則,路由到哪一個隊列
queue:消息隊列,每一個消息都會被投入到一個或多個隊列
binding:綁定,就是把exchange和queue按照路由規則綁定起來
routing key:路由關鍵字,exchange根據這個關鍵字進行消息投遞
vhost:虛擬主機,一個broker裏能夠開設多個虛擬主機,用做不一樣用戶的權限分離,至關於數據庫
channel:消息通道,在客戶端的每一個鏈接裏,能夠建議多個channel,每一個channel表明一個會話任務數據庫

消息隊列的使用過程
1.生產者和消費者客戶端鏈接到消息隊列服務器broker,打開一個channel
2.生產者客戶端聲明一個exchange,並設置相關屬性
3.生產者和消費者客戶端聲明一個queue,並設置相關屬性
4.消費者客戶端使用routing key,在exchange和queue之間創建好綁定關係
5.生產者客戶端投遞消息到exchange
6.exchange接收到消息後,根據消息的key和已經設置的綁定,進行消息路由,將消息投遞到一個或多個隊列中服務器

路由模式 經過routing key 有選擇的發送隊列(訂閱模式的升級版)
通配符模式 經過routing key 通配符 模糊匹配 綁定 (路由模式的升級版)3d

相關文章
相關標籤/搜索