天天看點

消息隊列在分布式系統中的應用目錄消息隊列

目錄

  • 目錄
  • 消息隊列
  • 消息隊列的種類

消息隊列

消息隊列(Message Queue,MQ)是大型分布式系統中不可或缺的重要組成部分,主要解決了 應用解耦,異步處理,流量削峰,消息通訊 等問題,支撐實作分布式系統的高并發,高性能,高可用,可伸縮和最終一緻性。目前在生産環境中使用較多的消息隊列有 ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 等。

消息隊列一般會以中間件的形式存在于分布式系統中,是以也會被稱為消息隊列中間件。顧名思義,就是将存放消息的隊列作為系統元件間通訊的中間件。隊列是一種資料結構,具有 FIFO(First In First Out) 的特征,通過隊列能夠有效将消息的發送和接收分離,以此來解耦不同的功能子產品,并同時支援異步處理。實際上異步和解耦隻是應用了 MQ 所表現出來的效果,并非是 MQ 所存在的目的。MQ 最初的目的是為了解決通訊問題。

我們都知道在分布式系統中的兩個元件之間的通訊,要麼使用 HTTP,要麼使用自己開發的 TCP,但實際上這兩種協定都是比較原始的協定,過于底層,無法為上層應用程式提供更加具體的、貼近需求的功能。例如:HTTP 想要實作兩端雙工通訊࿰

繼續閱讀