日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

KAFKA分布式消息系统

發布時間:2023/12/13 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 KAFKA分布式消息系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Kafka[1]linkedin用于日志處理的分布式消息隊列,linkedin的日志數據容量大,但對可靠性要求不高,其日志數據主要包括用戶行為(登錄、瀏覽、點擊、分享、喜歡)以及系統運行日志(CPU、內存、磁盤、網絡、系統及進程狀態)。

?

當前很多的消息隊列服務提供可靠交付保證,并默認是即時消費(不適合離線)。高可靠交付對linkedin的日志不是必須的,故可通過降低可靠性來提高性能,同時通過構建分布式的集群,允許消息在系統中累積,使得kafka同時支持離線和在線日志處理。

?

注:本文中發布者(publisher)與生產者(producer)可以互換,訂閱者(subscriber)與消費者(consumer)可以互換。

?

Kafka的架構如下圖所示:

Kafka存儲策略

1.??kafkatopic來進行消息管理,每個topic包含多個partition),每個part對應一個邏輯log,有多個segment組成。

2.??每個segment中存儲多條消息(見下圖),消息id由其邏輯位置決定,即從消息id可直接定位到消息的存儲位置,避免id到位置的額外映射。

3.??每個part在內存中對應一個index,記錄每個segment中的第一條消息偏移。

4.??發布者發到某個topic的消息會被均勻的分布到多個part上(隨機或根據用戶指定的回調函數進行分布),broker收到發布消息往對應part的最后一個segment上添加該消息,當某個segment上的消息條數達到配置值或消息發布時間超過閾值時,segment上的消息會被flush到磁盤,只有flush到磁盤上的消息訂閱者才能訂閱到,segment達到一定的大小后將不會再往該segment寫數據,broker會創建新的segment

發布與訂閱接口


發布消息時,kafka client先構造一條消息,將消息加入到消息集set中(kafka支持批量發布,可以往消息集合中添加多條消息,一次行發布),send消息時,client需指定消息所屬的topic

訂閱消息時,kafka client需指定topic以及partition num(每個partition對應一個邏輯日志流,如topic代表某個產品線,partition代表產品線的日志按天切分的結果),client訂閱后,就可迭代讀取消息,如果沒有消息,client會阻塞直到有新的消息發布。consumer可以累積確認接收到的消息,當其確認了某個offset的消息,意味著之前的消息也都已成功接收到,此時broker會更新zookeeper上地offset registry(后面會講到)。

?

高效的數據傳輸

1.??發布者每次可發布多條消息(將消息加到一個消息集合中發布), sub每次迭代一條消息。

2.??不創建單獨的cache,使用系統的page cache。發布者順序發布,訂閱者通常比發布者滯后一點點,直接使用linuxpage cache效果也比較后,同時減少了cache管理及垃圾收集的開銷。

3.??使用sendfile優化網絡傳輸,減少一次內存拷貝。

?

無狀態broker

1.??Broker沒有副本機制,一旦broker宕機,該broker的消息將都不可用。

2.??Broker不保存訂閱者的狀態,由訂閱者自己保存。

3.??無狀態導致消息的刪除成為難題(可能刪除的消息正在被訂閱),kafka采用基于時間的SLA(服務水平保證),消息保存一定時間(通常為7天)后會被刪除。

4.??消息訂閱者可以rewind back到任意位置重新進行消費,當訂閱者故障時,可以選擇最小的offset進行重新讀取消費消息。

?

Consumer group

1.?允許consumer group(包含多個consumer,如一個集群同時消費)對一個topic進行消費,不同的consumer group之間獨立訂閱。

2.?為了對減小一個consumer group中不同consumer之間的分布式協調開銷,指定partition為最小的并行消費單位,即一個group內的consumer只能消費不同的partition

?

Zookeeper 協調控制

1.?管理brokerconsumer的動態加入與離開。

2.?觸發負載均衡,當brokerconsumer加入或離開時會觸發負載均衡算法,使得一

? ?個consumer group內的多個consumer的訂閱負載平衡。

3.? 維護消費關系及每個partion的消費信息。


Zookeeper上的細節:

1.?每個broker啟動后會在zookeeper上注冊一個臨時的broker registry,包含brokerip地址和端口號,所存儲的topicspartitions信息。

2.?每個consumer啟動后會在zookeeper上注冊一個臨時的consumer registry:包含consumer所屬的consumer group以及訂閱的topics

3.?每個consumer group關聯一個臨時的owner registry和一個持久的offset registry。對于被訂閱的每個partition包含一個owner registry,內容為訂閱這個partitionconsumer id;同時包含一個offset registry,內容為上一次訂閱的offset

?

消息交付保證

1.?kafka對消息的重復、丟失、錯誤以及順序型沒有嚴格的要求。

2.?kafka提供at-least-once delivery,即當consumer宕機后,有些消息可能會被重復delivery

3.?因每個partition只會被consumer group內的一個consumer消費,故kafka保證每個partition內的消息會被順序的訂閱。

4.?Kafka為每條消息為每條消息計算CRC校驗,用于錯誤檢測,crc校驗不通過的消息會直接被丟棄掉。

?

Linkedin的應用環境

如下圖,左邊的應用于日志數據的在線實時處理,右邊的應用于日志數據的離線分析(現將日志pullhadoopDWH中)。

?

?

Kafka的性能

?

測試環境: 2 Linux machines, each with 8 2GHz cores,? 16GB? of? memory,? 6? disks? with? RAID? 10.? The? two machines? are? connected? with? a? 1Gb? network? link.? One? of? the machines was used as the broker and the other machine was used as the producer or the consumer.

?

測試評價(by me):(1)環境過于簡單,不足以說明問題。(2)對于producer持續的波動沒有進行分析。(3)只有兩臺機器zookeeper都省了??

?

測試結果:如下圖,完勝其他的message queue,單條消息發送(每條200bytes,能到50000messages/sec50batch方式發送,平均為400000messages/sec.

Kafka未來研究方向

1. 數據壓縮(節省網絡帶寬及存儲空間)

2. Broker多副本

3. 流式處理應用


參考資料

【1】??http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf

【2】??https://cwiki.apache.org/KAFKA/kafka-papers-and-presentations.data/Kafka-netdb-06-2011.pdf

轉載于:https://www.cnblogs.com/yunnotes/archive/2013/04/19/3032352.html

總結

以上是生活随笔為你收集整理的KAFKA分布式消息系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美精品一区二区三区久久久竹菊 | 91在线影院 | 国产丰满麻豆 | 国产美女精品在线 | 真实偷拍激情啪啪对白 | 一级黄色美女视频 | 青青草成人免费在线视频 | 日韩一级中文字幕 | 在线亚洲精品 | 亚洲区综合 | 国产精品女同一区二区 | 国产熟女一区二区三区四区 | 国产毛片基地 | 日日弄天天弄美女bbbb | 日韩美女视频一区 | 精品一区在线播放 | 国产视频精品一区二区三区 | 亚洲天堂av影院 | 亚洲制服一区 | 伊人啪啪 | 波多野结av衣东京热无码专区 | 911看片| 久久精品丝袜 | 国产在线视视频有精品 | 久久精品欧美一区二区三区麻豆 | 精品久久中文字幕 | 国产一区二区三区黄片 | 婷婷久久精品 | 国产综合色视频 | 在线成人看片 | 日本三级中文字幕 | 水牛影视av一区二区免费 | 成人免费视频国产 | 无限资源日本好片 | 97超碰自拍 | 一区二区三区久久久 | 久本草精品 | a在线 | 欧州一区二区三区 | 六月天综合网 | 国产精品久久久久久久久久久久 | 青青久在线 | 国产一区二区在线免费观看视频 | 日本毛片在线看 | 在线观看免费观看 | 孕妇疯狂做爰xxxⅹ 国产精品乱码久久久久久 99久久久成人国产精品 | 黄色av一级 | 91蝌蚪视频在线观看 | 国产精品国产三级国产专区53 | 日日好av | 免费观看理伦片在线播放视频软件 | 波多野结衣视频一区 | 九九九免费| www.国产在线观看 | 国产中文一区二区 | 欧美性受xxx | 国产一级片 | 国产二级视频 | 最新欧美日韩 | 欧美色视频一区二区三区 | 人人操在线播放 | 青青久久久 | 亚洲人妻电影一区 | 日韩精品在线观看视频 | 亚洲天堂免费在线观看视频 | 91网页在线观看 | 老师用丝袜脚帮我脚交 | 特色特色大片在线 | 日韩欧美国产电影 | 日韩视频播放 | 亚洲免费在线播放 | 国产精品久久久久影院色老大 | 最新三级网站 | 看国产黄色片 | 91视频免费观看网站 | 蜜桃91精品入口 | 二区在线播放 | 在线视频天堂 | 永久免费精品 | 欧美一级精品 | 欧美a v在线 | 中文字幕不卡av | 殴美一级特黄aaaaaa | 男插女青青影院 | av图片在线| 精品国产麻豆 | 日韩资源在线观看 | 国产美女免费无遮挡 | 国产人妖网站 | 永久免费不卡在线观看黄网站 | 国产亚洲制服欧洲高清一区 | 久久久男女| 久草加勒比 | 欧美日韩一区二区三区 | 永久免费av网站 | 国产婷婷色一区二区三区 | 超碰人人在线 | 色播激情 | 在办公室被c到呻吟的动态图 |