成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高速數據總線kafka介紹

云計算 Kafka
本文主要介紹高速數據總線kafka,下面,我們就從Kafka的作用、產生背景以及架構等方面來詳細講解。

1. Kafka的作用

在大數據系統中,常常會碰到一個問題,整個大數據是由各個子系統組成,數據需要在各個子系統中高性能,低延遲的不停流轉。有沒有一個系統可以同時搞定在線應用(消息)和離線應用(數據文件,日志)?這就需要kafka。Kafka可以起到兩個作用:

  • 降低系統組網復雜度。
  • 降低編程復雜度,各個子系統不在是相互協商接口,各個子系統類似插口插在插座上,Kafka承擔高速數據總線的作用。

2. Kafka產生背景

Kafka是Linkedin于2010年12月份開源的消息系統,它主要用于處理活躍的流式數據。活躍的流式數據在web網站應用中非常常見,這些數據包括網站的pv、用戶訪問了什么內容,搜索了什么內容等。 這些數據通常以日志的形式記錄下來,然后每隔一段時間進行一次統計處理。

傳統的日志分析系統提供了一種離線處理日志信息的可擴展方案,但若要進行實時處理,通常會有較大延遲。而現有的消(隊列)系統能夠很好的處理實時或者近似實時的應用,但未處理的數據通常不會寫到磁盤上,這對于Hadoop之類(一小時或者一天只處理一部分數據)的離線應用而言,可能存在問題。Kafka正是為了解決以上問題而設計的,它能夠很好地離線和在線應用。

3. Kafka架構

Kafka架構

  • 生產者(producer):消息和數據產生者
  • 代理(Broker):緩存代理
  • 消費者(consumer):消息和數據消費者

架構很簡單,Producer,consumer實現Kafka注冊的接口,數據從producer發送到broker,broker承擔一個中間緩存和分發的作用。broker分發注冊到系統中的consumer。

4. 設計要點

(1) 直接使用linux 文件系統的cache,來高效緩存數據。

(2) 采用linux Zero-Copy提高發送性能。傳統的數據發送需要發送4次上下文切換,采用sendfile系統調用之后,數據直接在內核態交換,系統上下文切換減少為2次。根據測試結果,可以提高60%的數據發送性能。Zero-Copy詳細的技術細節可以參考:https://www.ibm.com/developerworks/linux/library/j-zerocopy/

(3) 數據在磁盤上存取代價為O(1)。

  • 以topic來進行消息管理,每個topic包含多個part(ition),每個part對應一個邏輯log,有多個segment組成。
  • 每個segment中存儲多條消息(見下圖),消息id由其邏輯位置決定,即從消息id可直接定位到消息的存儲位置,避免id到位置的額外映射。
  • 每個part在內存中對應一個index,記錄每個segment中的第一條消息偏移。
  • 發布者發到某個topic的消息會被均勻的分布到多個part上(隨機或根據用戶指定的回調函數進行分布),broker收到發布消息往對應part的最后一個segment上添加該消息,當某個segment上的消息條數達到配置值或消息發布時間超過閾值時,segment上的消息會被flush到磁盤,只有flush到磁盤上的消息訂閱者才能訂閱到,segment達到一定的大小后將不會再往該segment寫數據,broker會創建新的segment。

(4) 顯式分布式,即所有的producer、broker和consumer都會有多個,均為分布式的。Producer和broker之間沒有負載均衡機制。broker和consumer之間利用zookeeper進行負載均衡。所有broker和consumer都會在zookeeper中進行注冊,且zookeeper會保存他們的一些元數據信息。如果某個broker和consumer發生了變化,所有其他的broker和consumer都會得到通知。

5. 類似的系統

RocketMQ:國內淘寶團隊參考開源的實現的消息隊列,解決了kafka的一些問題,如優先級問題。

6. 參考資料:

  • http://blog.chinaunix.net/uid-20196318-id-2420884.html
  • http://dongxicheng.org/search-engine/kafka/

【本文為51CTO專欄作者“大數據和云計算”的原創稿件,轉載請通過微信公眾號獲取聯系和授權】

戳這里,看該作者更多好文

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2021-05-17 16:24:58

Spring Clou

2023-09-27 12:22:50

Kafka架構

2016-07-08 10:56:34

華為

2022-11-02 10:08:46

分布式高并發消息中間件

2023-12-15 18:41:59

Kafka大數據消息隊列

2018-04-10 14:25:30

大數據高速公路數據存儲

2010-05-05 17:57:44

Unix系統

2021-12-14 11:01:44

TCPUDP網絡協議

2010-01-07 09:31:27

Json數據異常

2012-08-10 10:34:39

VMware大數據云計算

2011-04-01 14:51:37

Oracle數據庫導入導出

2019-03-18 08:59:28

數據中心規范互聯

2018-07-16 15:09:38

遷移數據中心網絡

2011-04-01 14:51:37

Oracle數據庫導入導出

2017-02-13 20:43:36

高速公路大數據

2018-02-01 04:52:08

信號布線高速信號

2011-04-28 11:45:56

云服務高速專線互聯

2009-07-06 16:00:16

綜合布線電纜電線

2023-08-27 21:51:50

Kafka數據庫數據存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91热爆在线观看 | 中文在线播放 | 国产九九九| 91香蕉| 97成人在线 | 婷婷色网 | av网站在线看 | 国产亚洲精品a | 成人一级毛片 | 亚洲热在线视频 | 色婷婷综合久久久中字幕精品久久 | 91看片网| va在线 | 日韩欧美手机在线 | 国产清纯白嫩初高生视频在线观看 | 亚洲精品视频观看 | 日本成人午夜影院 | 国产日韩一区二区三免费高清 | 久久国产精品无码网站 | xx视频在线观看 | 蜜桃五月天 | 四虎成人免费视频 | www.一区二区三区 | 嫩草视频网站 | 91在线视频观看 | 亚洲成人激情在线观看 | 日韩一级二级片 | av免费网站在线 | 精品国产伦一区二区三区观看方式 | 精品欧美乱码久久久久久 | 欧美激情综合 | 欧美精品一区二区三区四区 | 久久精品久久久 | 欧美日韩黄 | 午夜成人在线视频 | 日韩一区二区成人 | 国产欧美在线 | 国产成人a亚洲精品 | 欧美激情99 | 久久不卡视频 | h视频在线播放 |