消息中間件RabbitMQ(五)

RabbitMQ
MQ全稱爲Message Queue,即消息隊列, RabbitMQ是由erlang語言開發,基於AMQP(Advanced Message Queue 高級消息隊列協議)協議實現的消息隊列,它是一種應用程序之間的通信方法,
消息隊列在分佈式系統開發中應用非常廣泛。RabbitMQ官方地址:http://www.rabbitmq.com/
應用場景:
1、任務異步處理。
將不需要同步處理的並且耗時長的操作由消息隊列通知消息接收方進行異步處理。提高了應用程序的響應時間。
2、應用程序解耦合
MQ相當於一箇中介,生產方通過MQ與消費方交互,它將應用程序進行解耦合。

爲什麼使用RabbitMQ呢?
1、使得簡單,功能強大。
2、基於AMQP協議。
3、社區活躍,文檔完善。
4、高併發性能好,這主要得益於Erlang語言。
5、Spring Boot默認已集成RabbitMQ
AMQP:
AMQP是一套公開的消息隊列協議,它旨在從協議層定義消息通信數據的標準格式,
爲的就是解決MQ市場上協議不統一的問題。RabbitMQ就是遵循AMQP標準協議開發的MQ服務。
官方:http://www.amqp.org/
JMS:
JMS是java提供的一套消息服務API標準,其目的是爲所有的java應用程序提供統一的消息通信的標準,類似java的jdbc,只要遵循jms標準的應用程序之間都可以進行消息通信。
它和AMQP有什麼不同,jms是java語言專屬的消息服務標準,它是在api層定義標準,並且只能用於java應用;而AMQP是在協議層定義的標準,是跨語言的。
未完待續

頁面發佈:
業務流程:
1、管理員進入管理界面點擊“頁面發佈”,前端請求cms頁面發佈接口。
2、cms頁面發佈接口執行頁面靜態化,並將靜態化頁面(html文件)存儲至GridFS中。
3、靜態化成功後,向消息隊列發送頁面發佈的消息。
頁面發佈的最終目標是將頁面發佈到服務器。
通過消息隊列將頁面發佈的消息發送給各各服務器。
4、消息隊列負責將消息發送給各各服務器上部署的Cms Client(Cms客戶端)。
在服務器上部署Cms Client(Cms客戶端),客戶端接收消息隊列的通知。
5、每個接收到頁面發佈消息的Cms Client從GridFS獲取Html頁面文件,並將Html文件存儲在本地服務器。
CmsClient根據頁面發佈消息的內容請求GridFS獲取頁面文件,存儲在本地服務器。

要實現上邊頁面發佈的功能,有一個重要的環節就是由消息隊列將頁面發佈的消息通知給各各服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章