1. 程式人生 > >訊息佇列四種應用場景

訊息佇列四種應用場景

引用

博文連線,很好的一篇部落格,列舉了訊息佇列的使用場景和場景訊息佇列的基本概念,並貼上了收集的博文資料。

訊息佇列使用場景

  息佇列基本使用場景有四種,分別是非同步處理應用解耦流量削峰日誌處理等。
  解耦和非同步處理往往相輔相成,比如兩個系統之間放入訊息佇列,不僅可以解耦開,而且相應的業務邏輯也可以實現非同步處理,最典型的就是使用者註冊訊息佇列實現解耦和非同步處理

一、二.非同步處理和應用解耦,見上圖

三.流量削峰

  在秒殺或者搶購過程中,一般都會在短時間產生巨大的流量,此時便可以在使用者請求與業務處理之間放入訊息佇列,以控制請求人數。比如在搶紅包應用中,訊息佇列的長度為紅包個數,在佇列傳入的請求即可視為無效。訊息佇列在削減流量高峰中的應用

四.日誌處理,以Kafka為例

4.1基本概念

  1)Broker:Kafka包含一個或多個伺服器,這些伺服器被稱為Broker;
  2)Topic:每條釋出到Kafka上的訊息都有一個類別,這個類別被稱為Topic,不同Topic的訊息物理上分開儲存;
  3)Partition:物理概念,一個Topic包含多個Partition;
  4)Producer:負責釋出訊息到Kafka Broker;
  5)Consumer:訊息消費者,拉取Kafka Broker訊息並處理的客戶端;
  6)Consumer Grop:每個Consumer屬於一個特定的group,沒有指定則屬於預設的group;

4.2使用場景

  一般應用於處理大資料級別的日誌,並且對是實時性和可靠性有一定容忍度的場景。

4.3基本介紹及特性

  Kafka是一種高吞吐量的分散式釋出、訂閱訊息系統,他可以處理消費者規模的網站中的所有動作流資料。Kafka的目的是通過Hadoop的並行載入機制來同一線上的和離線的訊息處理,也是為了通過叢集來提供溼溼的消費。??
  Kafka提供持久化的磁碟結構時間複雜度為O(1)、吞吐量高、資質Hadoop秉性資料載入一級支援通過Kafka伺服器和消費機叢集來區分訊息。