一:起源
RabbitMQ 是採用 Erlang 語言實現 AMQP (Advanced Message Queuing Protocol,高級消息隊列協議)的消息中間件,它最初起源於金融系統,用於在分佈式系統中存儲轉發消息 。
二:特點
可靠性: RabbitMQ使用一些機制來保證可靠性, 如持久化、傳輸確認及發佈確認等。
靈活的路由 : 在消息進入隊列之前,通過交換器來路由消息。對於典型的路由功能, RabbitMQ 己經提供了一些內置的交換器來實現。針對更復雜的路由功能,可以將多個 交換器綁定在一起, 也可以通過插件機制來實現自己的交換器。
擴展性: 多個RabbitMQ節點可以組成一個集羣,也可以根據實際業務情況動態地擴展 集羣中節點。
高可用性 : 隊列可以在集羣中的機器上設置鏡像,使得在部分節點出現問題的情況下隊 列仍然可用。
多種協議: RabbitMQ除了原生支持AMQP協議,還支持STOMP, MQTT等多種消息 中間件協議。
多語言客戶端 :R甜bitMQ 幾乎支持所有常用語言,比如 Java、 Python、 Ruby、 PHP、 C#、 JavaScript 等。
管理界面 : RabbitMQ 提供了一個易用的用戶界面,使得用戶可以監控和管理消息、集 羣中的節點等。
插件機制: RabbitMQ 提供了許多插件 , 以實現從多方面進行擴展,當然也可以編寫自 己的插件。