消息系統允許軟件應用相互連接和擴展.這些應用可以相互鏈接起來組成一個更大的應用,或者將用戶設備和數據進行連接.消息系統通過將消息的發送和接收分離來實現應用程序的異步和解偶.
或許你正在考慮進行數據投遞,非阻塞操作或推送通知。或許你想要實現發佈/訂閱,異步處理,或者工作隊列。所有這些都屬於消息系統的模式。
RabbitMQ是一個消息代理 - 一個消息系統的媒介。它可以爲你的應用提供一個通用的消息發送和接收平臺,並且保證消息再傳輸過程中的安全。
技術亮點
可靠性
RabbitMQ提供了多種技術可以讓你在性能和可靠性之間進行權衡。這些技術包括持久性、投遞確認、發佈者證實和高可用性。
靈活的路由
消息在到達隊列前是通過交換機進行路由的。RabbitMQ爲典型的路由邏輯提供了多種內置交換機類型。如果你有更復雜的路由需求,可以將這些交換機組合起來使用,甚至你可以寫自己的交換機類型,並且當做RabbitMQ的插件來使用。
集羣
在相同局域網中的多個RabbitMQ服務器可以被聚合在一起,作爲一個獨立的邏輯代理來使用。
聯合
對於服務器來說,它比集羣需要更多的鬆散和非可靠鏈接。爲此RabbitMQ提供了聯合模型。
高可用的隊列
在同一個集羣中,隊列可以被鏡像到多個機器中,以確保當其中某些硬件出現事故後,你的消息仍然是安全的。
多協議
RabbitMQ 支持多種消息協議中的消息傳遞。
廣泛的客戶端
只要是你能想到的語言幾乎都有與其相適配的RabbitMQ客戶端。
可視化管理工具
RabbitMQ附帶了一個易於使用的可視化管理工具,它可以幫助你監控消息代理的每一個環節。
追蹤
如果你的消息系統有異常行爲,RabbitMQ還提供了追蹤的支持,讓你能夠發現問題所在。
插件系統
RabbitMQ附帶了各種各樣的插件來對自己進行擴展。甚至你也可以寫自己的插件來使用。
還有什麼呢...
商業支持
可以提供商業支持,包括培訓和諮詢。
大型社區
圍繞着RabbitMQ有一個大型的社區,在那兒產生了各種各樣的客戶端、插件、指南等等。快加入我們的郵件列表參與其中吧!