分析一下六個場景下RabbitMQ的應用:
1.爬蟲
2.智能家居雲平臺
3.電子商務系統
4.實時監控系統
5.海量日誌的分佈式處理
6. 智能交通管控平臺中數據分析子系統
1.爬蟲
在爬蟲業務場景下,多個spider任務之間的進度不同,合理利用了 Rabbit MQ 多隊列、高時效性、高穩定性的特徵對不一樣爬取迚度的任務進行有效管理
2.智能家居雲平臺
智能家居場景中
提出RabbitMQ在智能家居雲平臺分佈式系統中可行的實現方案,構建了三種不一樣的通訊交互模式。
RabbitMQ三種通訊方式具體應用
耗時長的業務----「發後即忘」普通模式
web頁面上CRUD、websocket長鏈接之間的請求響應--RPC模式
服務器日誌等級的修改--發佈訂閱模式
研究分析RabbitMQ的三種集羣模式,搭建RabbitMQ集羣架構。
原有的分佈式,集羣架構設計系統間通訊方式使得系統耦合嚴重,沒法知足與平臺不一樣模塊之間愈來愈複雜的信息交互。RabbitMQ做爲一種消息中間,發送者只須要將消息存入RabbitMQ服務器,而接收者只須要去除消息進行處理。實現系統之間解耦。
三種集羣模式
默認集羣模式
鏡像集羣模式
主備集羣模式
3.電子商務系統
利用RabbitMQ消息隊列來完成電商複雜業務邏輯的處理 --Web層與業務邏輯層使用MQ進行消息分發,業務邏輯層進行處理
4.實時監控系統
在實時監控系統中,....的場景
傳輸子系統有兩個接口,一個向上層用戶提供消息服務的接口,一個是與RabbitMQ服務器的接口。向上層用戶服務的接口定義了與上層用戶交換數據的格式標準。
數據通訊子系統與RabbitMQ服務器之間的接口遵循AMQP協議。服務端和客戶端都須要發佈和訂閱,都具備消息發佈者和消息訂閱者雙重角色。因爲存在不一樣的通訊模式,
在設計時,根據服務端和客戶端的通訊模型選型合適的交換器類型。
當管理中心向遠端站發出查詢或控制指令時,可能會有一個或者多個遠端站接收該指令進行動做,採用廣播式交換器。
5. 基於rabbitmq的海量日誌的分佈式處理
解決海量日誌的分析問題。web日誌數據具備海量、多樣、異構、動態變化等特色。
使用RabbitMQ搭建一個高可用集羣模式,對於每一個rabbitmq節點,根據日誌種類創建相應的隊列,而且根據日誌種類的名創建exchange的key值
6. 智能交通管控平臺中數據分析子系統
一種基於智能交通管理控制集成平臺的數據分析子系統的解決方案,該數據分析子系統將集成平臺中其餘
子系統產生的數據加以整合、分析、計算和重構,造成新的數據結構,在宏觀角度上展示當前交通的總體運行情況,
還能夠在流量和擁堵路段數等幾個不一樣的維度上展現當前交通的維度信息。
在消息傳遞採用RabbitMQ,在數據預處理模塊,和數據接入的模塊中間,擔任數據中間傳遞介質。
總結:
RabbitMQ多應用在系統之間的數據傳遞,在多模塊場景下,會出現模塊處理速度不一或者模塊數據交互邏輯複雜影響後期的研發等問題,RQ常來用來幫助系統解耦,使得模塊之間數據交換可以簡單化;在應對應對短時高訪問流量場景,利用RQ信息傳輸的可靠特性,RQ可做爲緩衝層;在應對信息數量大,且信息處理可延時,例如系統海量日誌數據處理場景,可創建RQ的集羣模式,對日誌進行分類收集。