訊息佇列mq是分布式中重要的元件
目前常見的訊息佇列有三種:activemq,rabbitmq,kafka
今天我想來梳理一下mq訊息佇列的具體常見用法:
1.非同步處理
使用者註冊之後,需要發簡訊和加積分,註冊資訊寫入資料庫後,通過非同步訊息,讓簡訊服務和積分服務去做它們的事,就提公升了**的質量
2.流量削峰
最常見的就說秒殺場景,秒殺活動會因為流量過大導致流量暴增,甚至應用會掛掉,為了解決這個問題,一般需要在應用前端加入訊息佇列,從而控制活動的人數,假如訊息佇列長度超過所設定的,就直接拋棄使用者的請求,或者讓它跳轉到錯誤的頁面,秒殺業務根據訊息佇列中的資訊再作處理
3.日誌處理
最典型的就是kafka,kafka的訊息佇列一開始設計就是為了日誌處理,大資料中用的特別多,通過日誌採集定時寫入kafka佇列,然後kafka佇列對日誌訊息進行儲存**
4.應用解耦
比如使用者下單後,訂單服務需要通知商品服務,如果使用訊息佇列,不直接呼叫商品服務的介面,訂單服務直接把資訊寫入訊息佇列,返回下單成功,商品服務來訂閱訊息佇列,採用拉或者推的方式獲得下單資訊,這樣就可以實現訂單服務和商品服務之間的解耦
訊息佇列MQ
目錄 一 簡介 二 為什麼需要訊息佇列 mq 三 介紹 訊息佇列 message queuing 在電腦科學中,是一種程序間通訊或同一程序間不同執行緒的通訊方式。廣義上講訊息佇列是解決分布式系統中,各個功能模組間的資訊傳遞通訊方式。與檔案傳輸和rpc相比,訊息佇列具有更好的平台無關性,並能夠很好地支...
MQ訊息佇列
1.解耦 系統a將userid寫到訊息佇列中,系統c和系統d從訊息佇列中拿資料。這樣有什麼好處?系統a只負責把資料寫到佇列中,誰想要或不想要這個資料 訊息 系統a一點都不關心。即便現在系統d不想要userid這個資料了,系統b又突然想要userid這個資料了,都跟系統a無關,系統a一點 都不用改。系...
MQ訊息佇列應用
很榮幸,原來一直聽說的訊息佇列終於在前段時間用到了自己的專案中。為什麼會用到訊息佇列?毫無疑問,當然是傳輸訊息。這裡訊息一般是一串字串,當然,訊息的含義很多,可以是 hello world 可以是 你吃飯了嗎?可以是一串正式的xml報文。也可以是乙個txt檔案或者xml檔案 在用active mq的...