或許你正在考慮進行數據投遞,非阻塞操做或推送通知。或許你想要實現發佈/訂閱,異步處理,或者工做隊列。全部這些均可以經過消息系統實現。編程
RabbitMQ是一個消息代理 - 一個消息系統的媒介。它能夠爲你的應用提供一個通用的消息發送和接收平臺,而且保證消息在傳輸過程當中的安全。安全
RabbitMQ提供了多種技術可讓你在性能和可靠性之間進行權衡。這些技術包括持久性機制、投遞確認、發佈者證明和高可用性機制。服務器
消息在到達隊列前是經過交換機進行路由的。RabbitMQ爲典型的路由邏輯提供了多種內置交換機類型。若是你有更復雜的路由需求,能夠將這些交換機組合起來使用,你甚至能夠實現本身的交換機類型,而且當作RabbitMQ的插件來使用。異步
在相同局域網中的多個RabbitMQ服務器能夠聚合在一塊兒,做爲一個獨立的邏輯代理來使用。編程語言
對於服務器來講,它比集羣須要更多的鬆散和非可靠連接。爲此RabbitMQ提供了聯合模型。ide
在同一個集羣裏,隊列能夠被鏡像到多個機器中,以確保當其中某些硬件出現故障後,你的消息仍然安全。工具
RabbitMQ 支持多種消息協議的消息傳遞。性能
只要是你能想到的編程語言幾乎都有與其相適配的RabbitMQ客戶端。spa
RabbitMQ附帶了一個易於使用的可視化管理工具,它能夠幫助你監控消息代理的每個環節。插件
若是你的消息系統有異常行爲,RabbitMQ還提供了追蹤的支持,讓你可以發現問題所在。
RabbitMQ附帶了各類各樣的插件來對本身進行擴展。你甚至也能夠寫本身的插件來使用。