大資料架構之:Kafka

來源:互聯網
上載者:User

標籤:

     Kafka 是一個高吞吐、分布式、基於發布訂閱的訊息系統,利用Kafka技術可在廉價PC Server上搭建起大規模訊息系統。Kafka具有訊息持久化、高吞吐、分布式、多用戶端支援、即時等特性,適用於離線和線上的訊息消費

Kakfa特點:

  • 解耦:訊息系統在處理過程中插入一個隱含、基於資料的介面層。
  • 冗餘:訊息佇列持久化,防止資料丟失。
  • 擴充性:訊息佇列解耦處理過程,容易擴充處理過程。
  • 可恢複性:處理過程失效,恢複後可繼續處理。
  • 順序保證:訊息佇列保證順序。Kafka保證一個Partition內訊息有序。
  • 非同步通訊:訊息佇列允許訊息排入佇列,等需要時再處理。

Kafka 的術語

Kafka 架構

典型Kafka架構

     一個典型的Kafka叢集中包含若干Producer(可以是web前端應用產生的訊息,也可以是類似通過上網Flume收集上網日誌產生的Events等),若干broker(Kafka支援水平擴充,一般broker數量越多,叢集吞吐率越高),若干Consumer Group,以及一個Zookeeper叢集。Kafka通過Zookeeper管理叢集配置及服務協同。Producer使用push模式將訊息發布到broker,Consumer通過監聽使用pull模式從broker訂閱並消費訊息。
      多個broker協同合作,producer和consumer部署在各個商務邏輯中被頻繁的調用,三者通過zookeeper管理協調請求和轉寄。這樣一個高效能的分布式訊息發布和訂閱系統就完成了。圖上有個細節需要注意,producer刡broker的過程是push,也就是有資料就推送給broker,而consumer給broker的過程是pull,是通過consumer主動去拉資料的,而不是broker把資料主動發送給consumer端的。

producer、consumer、broker以及zookeeper返四者的關係

    我們看上面的圖,我們把broker的數量減少,叧有一台。現在假設我們按照進行部署: ?

 Server-1 broker其實就是kafka的server,因為producer和consumer都要去連它。Broker主要還是做儲存用。 ?

 Server-2是zookeeper的server端,zookeeper的具體作用你可以去上網查,在這裡你可以先想象,它維持了一張表,記錄了各個節點的IP、連接埠等資訊(以後還會講到,它裡面還存了kafka的相關資訊)。 ?

 Server-3、4、5他們的共同之處就是都配置了zkClient,更明確的說,就是運行前必須配置zookeeper的地址,道理也很簡單,這之間的串連都是需要zookeeper來進行分發的。 ?

  Server-1和Server-2的關係,他們可以放在一台機器上,也可以分開放,zookeeper也可以配叢集。目的是防止某一台掛了。

簡單說下整個系統啟動並執行順序:

1. 啟動zookeeper的server

2. 啟動kafka的server

3. Producer如果生產了資料,會先通過zookeeper找到broker,然後將資料存放進broker

4. Consumer如果要消費資料,會先通過zookeeper找對應的broker,然後消費。

 

大資料架構之:Kafka

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.