小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Kafka 分布式消息隊列介紹

 WindySky 2017-10-10

Kafka 分布式消息隊列 類似產(chǎn)品有JBoss、MQ

一、由Linkedln 開源,使用scala開發(fā),有如下幾個特點:

(1)高吞吐

(2)分布式

(3)支持多語言客戶端 (C++、Java)

二、組成: 客戶端是 producer 和 consumer,提供一些API,服務器端是Broker,客戶端提供可以向Broker內(nèi)發(fā)布消息、消費消息,服務器端提供消息的存儲等功能

Kafka 特點是支持分區(qū)、分布式、可拓展性強

三、Kafka 的消息分幾個層次

(1)Topic 一類主題

(2)Partition 默認每個消息有2個分區(qū),創(chuàng)建Topic可以指定分區(qū)數(shù),1天有 1億行可以分8個分區(qū),如果每天幾十萬行就一個分區(qū)吧

(3)Message 是每個消息

四、數(shù)據(jù)處理流程

1.生產(chǎn)者 生產(chǎn)消息、將消息發(fā)布到指定的topic分區(qū)

2.kafka 集群接收到producer發(fā)過來的消息后,將其持久化到硬盤,可以指定時長,而不關(guān)注消息是否被消費

3.consumer從kafka集群pull或push方式,并控制獲取消息的offset偏移量,consumer重啟時需要根據(jù)offset開始再次消費數(shù)據(jù),consumer自己維護offset

五、kafka如何實現(xiàn)高吞吐量

1.充分利用磁盤的順序讀寫
2.數(shù)據(jù)批量發(fā)送
3.數(shù)據(jù)壓縮
4.Topic劃分多個partition

六、kafka 如何實現(xiàn)load balance &HA

1)producer 根據(jù)用戶指定的算法,將消息發(fā)送到指定的partition
2)存在多個partition,每個partition存在多個副本replica,每個replica分布在不同的broker節(jié)點上
3)每個partition需要選取lead partition,leader partition負責讀寫,并由zookeeper負責fail over 快速失敗
4)通過zookeeper管理broker與consumer的動態(tài)加入與離開

七、擴容

當需要增加broker節(jié)點時,新增的broker會向zookeeper注冊,而producer及consumer會根據(jù)zookeeper上的watcher感知這些變化,并及時作出調(diào)整

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多