之前有介紹了 Message Queue 和其常見協定 MQTT 、 AMQP ,而 RabbitMQ 就是一款基於 AMQP 訊息傳遞協定實現的輕量級開源服務,由 Erlang 語言開發,能夠跨進程的傳遞訊息,且對多數主流程式語言如 Python、Java 等都有官方或社群開發 lib。
再來為了方便運維與監控,RabbitMQ 有內建一套 Web 介面,使用者可透過此介面管理檢視 queue 健康狀態,還可以處理使用者權限等操作

之前有介紹了 Message Queue 和其常見協定 MQTT 、 AMQP ,而 RabbitMQ 就是一款基於 AMQP 訊息傳遞協定實現的輕量級開源服務,由 Erlang 語言開發,能夠跨進程的傳遞訊息,且對多數主流程式語言如 Python、Java 等都有官方或社群開發 lib。
再來為了方便運維與監控,RabbitMQ 有內建一套 Web 介面,使用者可透過此介面管理檢視 queue 健康狀態,還可以處理使用者權限等操作
為了要把系統架構解耦,改為異步分散式處理,有時會決定使用 Message Queue 的設計來達成目標,其指的是應用程序之間通過在 Message Service 而不是直接調用彼此通訊。對於其落地的產品,常見的開源工具有 Kafka、RabbitMQ 等等或者雲端服務 GCP-Pub/Sub 和 AWS-SQS 等等。作為兩個子系統之間的通信中間層,會需要依靠協定保持有序且有效率的方式實現資訊交換,而目前廣泛使用的協定有 MQTT 和 AMQP ,以下也會簡單介紹一下。