【Message Queue】關於Message Queue的幾個常見傳輸協定

閱讀時間約 3 分鐘

AMQP協議

Advanced Message Queuing Portocol(高級訊息佇列協議)
  • Producer: 生產者, 負責生產訊息並送到交換機。
  • Broker: Message Queue的服務器(RabbitMQ…之類的產品)
  • Exchange: 交換器, 它指定訊息按照什麼樣的規則送到哪個Queue。
  • Binding: 綁定規則, 後面會介紹幾種常用的MQ模式。
  • Queue: 消息隊列, 每條訊息都會被送到一個或多個Queue。
  • Consumer: 消費者, 負責接收與處理訊息。

特點

  • 金融業發展出來用於交易所訊息交換的協定。
  • 發布者、交換機、隊列、消費者都可以有多個。因為AMQP是一種網路協議, 所以過程中的發布者、消費者、代理都能分佈在不同的設備上。
  • 發布消息時可以帶上消息屬性(Message Meta), 有些屬性可以被消息代理(Brokers)使用, 有些則為不透明的, 只能被消費者使用。
  • 由於必須假設網路是不可靠的, 因此可能某個消費者處理訊息的過程中可能掛掉, 基於此原因AMQP協議就包含了消息確認(Message Acknowledgements)機制, 確保收到來自消費者的訊息後才將該筆訊息從Queue中刪除。

Exchange交換機

為什麼需要Exchange而不是直接將訊息發送到Queue呢?
AMQP的核心思想就是讓生產者與消費者之間解耦, 因此生產者只需要一直生產消息並不需要知道這條消息會被送到哪個Queue, 而送到哪個Queue的工作就是交換機的事情了, 如此一來生產者與消費者的工作就更加單純。
以下是三種主要的交換機類型:
直連交換機(Direct Exchange)
假設我們要把錯誤訊息寫到文件中, 此時可以使用Routing key並指定為error, 將訊息送到Error的Queue中再由相對的Consumer去做處理。
扇型交換機(Fanout Exchange)
這種類型的交換機就像廣播一樣, 將收到的訊息分發給所有的queue, 再由各個對應的Consumer去處理, 由於廣播的特性, 因此能夠應用在線上系統, 例如群聊。
主題交換機(Topic Exchange)
Topic Exchange其實跟Direct Exchange很類似, 差別在於Direct Exchange是精確匹配, 而Topic Exchange則是可以訂定一些規則。

STOMP協議

Simple Text Orientated Messaging Protocol(簡單文本消息協議)。
以文本方式傳輸,頻寬耗費較大,發展主要目的是讓網頁瀏覽器與訊息系統進行雙向溝通。
COMMAND
header1:value1
header2:value2
Body^@
SEND
destination:/broker/roomId/1
content-length:57
{“type”:”ENTER”,”content”:”o7jD64gNifq-wq-C13Q5CRisJx5E”}

MQTT協議

基於二進制的傳輸協定,格式簡潔、佔用頻寬較小、支持QOS、適用於IOT,採用發布/訂閱模式。
主題的描述方式
Sensor/Temperature/Room1
Sensor/Temperature/Room2
進階的用法
  1. 取得所有房間的溫濕度: Sensor/#
  2. 取得Room1的溫度與濕度: Sensor/+/Room1
如果這篇文章對你有幫助,請不要吝嗇您的LIKE👍
為什麼會看到廣告
95會員
236內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
創作者要怎麼好好休息 + 避免工作過量?《黑貓創作報#4》午安,最近累不累? 這篇不是虛假的關心。而是《黑貓創作報》發行以來可能最重要的一篇。 是的,我們這篇講怎麼補充能量,也就是怎麼休息。
Thumbnail
avatar
黑貓老師
2024-06-29
關於Stairway to heaven的都市傳說 你聽過這首Led Zeppelin(齊柏林飛船)發行於1971年代的神曲嗎?這首歌在2000年被VH1評選為100首最偉大的搖滾歌曲時排名第三,而且在2010年滾石雜誌的500首有史以來的最佳歌曲中排名第31位。
Thumbnail
avatar
貳犬吉他-小傑
2021-06-12
關於超成長股的7個🗒Case Study🗒其實投資超成長股,你就把它想成,你就是在投資一家公司的早期階段罷了。現在的公司,最早在新創階段,去投資的就像是孫正義的軟銀天使基金那樣。接著天使錢籌一籌,就可能會上市。在這些早期階段的公司,要求獲利反而是一件害他們的事情。
Thumbnail
avatar
AI效率家
2021-04-09
關於自組織團隊 Self-Organizing Team 的第一個念頭自組織從來都不應該是組織或是團隊所追求的目標。
avatar
Edge
2019-09-17
關於Scrum Master的一些怪味道與常見誤區/Yves Lin在敏捷體系中,Scrum Master(SM)的存在是為了讓開發團隊把事情完成得更好;所以不是SM要求團隊完成事情,是團隊要求SM幫助他們進步。如果Scrum Master沒有要求團隊做什麼的權力,那事情該如何才能完成呢?
Thumbnail
avatar
吐納商業評論
2019-02-26
嘻哈樂史Vol 14:轟垮派對高牆,直指紐約平民窟慘狀的嘻哈歌曲〈The Message〉<p>閃手大師與憤怒五人組(Grandmaster Flash and the Furious Five)從1970年代後半開始,成為嘻哈音樂中不可忽視的超級要角,同時也可以算是此文化的開山鼻祖之一;而當時間慢慢進入到1980年代之後,他們總算在1982年推出了首張正式專輯《The Message》。其中的同名歌曲〈The Message〉蘊含大量的社會反思和批判,讓嘻哈與饒舌音樂逐漸步向一個新的時代。</p>
Thumbnail
avatar
吳念達
2017-01-25
2009大陸電影【風聲 The Message】我相信,愛我的人會明白我的心情 (周迅 李冰冰 張涵予 黃曉明 蘇有朋)  ●2009大陸電影【風聲 The Message】我相信,愛我的人會明白我的心情 (周迅 李冰冰 張涵予 黃曉明 蘇有朋)  看諜戰片,讓我神經變得敏感,眼光變得犀利,注意力變得集中。這類影片或電視劇我愛看,我從小對「諜戰」充滿好奇而沒有抵抗力
Thumbnail
avatar
優雅下決心
2009-11-30