日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Kafka 分布式消息隊(duì)列介紹

 WindySky 2017-10-10

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

一、由Linkedln 開(kāi)源,使用scala開(kāi)發(fā),有如下幾個(gè)特點(diǎn):

(1)高吞吐

(2)分布式

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

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

Kafka 特點(diǎn)是支持分區(qū)、分布式、可拓展性強(qiáng)

三、Kafka 的消息分幾個(gè)層次

(1)Topic 一類主題

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

(3)Message 是每個(gè)消息

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

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

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

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

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

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

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

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

七、擴(kuò)容

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

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

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多