消息中間件-Kafka講解課件_第1頁(yè)
消息中間件-Kafka講解課件_第2頁(yè)
消息中間件-Kafka講解課件_第3頁(yè)
消息中間件-Kafka講解課件_第4頁(yè)
消息中間件-Kafka講解課件_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Kafka 一、MQ 系統(tǒng) 二、Kafka 架構(gòu) 三、Kafka 命令 四、配置文件MQ 系統(tǒng) 一、Redis 二、ZeroMQ 三、ActiveMQ 四、RocketMQ 五、KafkaMQ系統(tǒng) Redis Redis是一個(gè)NoSQL數(shù)據(jù)庫(kù) 處理小流量的消息隊(duì)列 不適用于大流量的應(yīng)用場(chǎng)景MQ系統(tǒng) ActiveMQ ActiveMQ 2007 年發(fā)布第一個(gè)版本(同年 JDK1.5發(fā)布) 被廣泛應(yīng)用于零售、銀行、電子商務(wù)和政府等領(lǐng)域。 穩(wěn)定性好,性能還過(guò)得去。 缺少異步 Java API 和 NIO支持,在高資源配置的計(jì)算機(jī)上擴(kuò)展性不佳。 Apollo 重寫(xiě)了 ActiveMQ 內(nèi)核, Apac

2、he稱其為最快、最強(qiáng)健的STOMP(Streaming Text Orientated Message Protocol,流文本定向消息協(xié)議)服務(wù)器。 github 一年多沒(méi)更新,網(wǎng)傳 Apollo項(xiàng)目已經(jīng)失敗MQ系統(tǒng) ZeroMQ 不支持序列化,閱后即焚。如果服務(wù)器宕機(jī),數(shù)據(jù)將丟失 ZeroMQ本身只是一個(gè)網(wǎng)絡(luò)協(xié)議棧的實(shí)現(xiàn)庫(kù).使用過(guò)程中由應(yīng)用服務(wù)器扮演服務(wù)器的角色 ZeroMQ的目標(biāo)是,成為 Linux 內(nèi)核的一部分 逆天的性能MQ系統(tǒng)Kafak VS RocketMQ定位Kafak:由 Linkin 開(kāi)源,用于即時(shí)的日志傳輸RocketMQ:由淘寶開(kāi)源,實(shí)現(xiàn)非日志的可靠消息傳輸,用于交易、

3、訂單、充值等場(chǎng)景TPS 性能kafka 單機(jī)寫(xiě)入 TPS 在百萬(wàn)條/秒,消息大小為10bRocketMQ 單機(jī) 7萬(wàn)條/秒,消息大小為10b隊(duì)列數(shù)kafak 單機(jī)超過(guò) 64個(gè)隊(duì)列/分區(qū),Load 會(huì)發(fā)生明顯的飆高現(xiàn)象RocketMQ 最高支持 5萬(wàn)隊(duì)列實(shí)時(shí)性Kafka使用短輪詢方式,實(shí)時(shí)性取決于輪詢間隔時(shí)間RocketMQ使用長(zhǎng)輪詢,同Push方式實(shí)時(shí)性一致,消息的投遞延時(shí)通常在幾個(gè)毫秒。成熟度Kafka在日志領(lǐng)域比較成熟,操作系統(tǒng)Crash,會(huì)導(dǎo)致數(shù)據(jù)丟失RocketMQ在阿里集團(tuán)內(nèi)部有大量的應(yīng)用在使用,不會(huì)丟消息MQ系統(tǒng) 總結(jié)MQ系統(tǒng)系統(tǒng)特點(diǎn)特點(diǎn)Redis NO-SQL數(shù)據(jù)庫(kù),適用于處理少

4、量 MQ 數(shù)據(jù)ActiveMQ久經(jīng)沙場(chǎng)的老戰(zhàn)士,穩(wěn)定性好ZeroMQ一個(gè)網(wǎng)絡(luò)通信協(xié)議棧性能超級(jí)強(qiáng)勁RocketMQ阿里出品標(biāo)準(zhǔn) MQ 系統(tǒng)中性能最好的Kafka/Jafka 專為日志收集設(shè)計(jì)非標(biāo)準(zhǔn) MQ 系統(tǒng),容災(zāi)能力弱,性能超過(guò) RocketMQ消息處理速度上限大約為 100MB/s Kafka 架構(gòu)系統(tǒng)結(jié)構(gòu)kafka clusterBroker 1Broker 2Broker 3Producer-AProducer-BProducer-CConsumer-AConsumer-AConsumer-CZookeeper 基礎(chǔ)架構(gòu)Kafka 架構(gòu) 基本概念 主題:topic 分區(qū):partiti

5、on 消息:message 生產(chǎn)者:producer 消費(fèi)者:consumer group 消息隊(duì)列:brokerProducerTopicConsumer GroupPartitionConsumer11.N11.NKafka 架構(gòu) kafka 消息流程圖topic消息隊(duì)列Producer-AProducer-BConsumerconsumer grouppartitionproducer本地磁盤(pán)注1:消息隊(duì)列依賴于本地磁盤(pán)注2:默認(rèn)情況下,磁盤(pán)存儲(chǔ)會(huì)保存 7 天Kafka 架構(gòu) kafka 消息流程圖topic消息隊(duì)列Producer-AProducer-BConsumerconsumer

6、 grouppartitionproducer本地磁盤(pán)1本地磁盤(pán)2注1:在一個(gè)由6個(gè)7200rpm的SATA硬盤(pán)組成的RAID-5磁盤(pán)陣列上, 線性寫(xiě)入的速度大約是300MB/秒,隨機(jī)寫(xiě)入?yún)s只有50k/秒。注2:在某些情況下,順序磁盤(pán)訪問(wèn)能夠比內(nèi)存訪問(wèn)還要快!Kafka 架構(gòu) kafka 集群運(yùn)行流程圖broker(1)broker(2)topic13741282109611Producer-AProducer-BConsumer-AConsumer-BConsumer-Cconsumer grouppartition 1partition 2partition 3producerKafka

7、架構(gòu) topic & partitiontopicbroker(1)13741282broker(2)109611Producer-AProducer-BConsumer-AConsumer-BConsumer-Cconsumer grouppartition 1partition 2partition 3producerproducer 怎么保證業(yè)務(wù)有序?1、每個(gè) partition 對(duì)應(yīng)一個(gè)文件(夾)2、分文件存儲(chǔ)利于增加 topic 消息容量3、把 partition 放在不同磁盤(pán)上,可以提高讀寫(xiě)性能4、把 partition 分散在不同機(jī)器上,支持負(fù)載均衡5、通過(guò)遷移單個(gè) pa

8、rtition, 實(shí)現(xiàn)快速水平擴(kuò)展6、partition內(nèi)有序,partition間無(wú)序Kafka 架構(gòu) producertopicbroker(1)13741282broker(2)109611Producer-AProducer-BConsumer-AConsumer-BConsumer-Cconsumer grouppartition 1partition 2partition 3producerconsumer 處理速度跟不上怎么辦?1、自定義 partitioner, 保證同族消息保存在相同 partition 中,默認(rèn)為 hash 算法隨機(jī)分配2、異步提交時(shí),會(huì)把多個(gè)消息合并,提高

9、IO性能3、如果對(duì) topic 進(jìn)行水平擴(kuò)容,producer 需要重新獲取 broker 列表,重新連接Kafka 架構(gòu) consumertopicbroker(1)13741282broker(2)109611Producer-AProducer-BConsumer-AConsumer-BConsumer-Cconsumer grouppartition 1partition 2partition 3producer不同的 consumer Group 之間有什么關(guān)系?Thread-AThread-BThread-C1、一個(gè) partition 只會(huì)被一個(gè) consumer 線程連接;2、

10、一個(gè) consumer group 由多個(gè) consumer 線程組成;3、一個(gè) consumer group 可以同時(shí)被多個(gè)進(jìn)程使用。Kafka 架構(gòu) consumer group注:Group A 和 Group B 會(huì)收到的是完全相同的消息Kafka 架構(gòu) kafka 在 zookeeper 中的數(shù)據(jù)Kafka 命令 數(shù)據(jù)分區(qū)和水平擴(kuò)展 1、創(chuàng)建一個(gè) 16 分區(qū),雙備的 topic./bin/kafka-topics.sh -create -zookeeper 10.100.10.200:2181 -replication-factor 2 -partitions 16 -topic m

11、y-topic 2、水平擴(kuò)展./bin/kafka-reassign-partitions.sh -execute -manual-assignment-json-file partitions-to-move.json cat partitions-to-move.json: partitions: topic: my-topic, partition: 1, replicas: 1,4 把一個(gè)partition的replica從broker 1,2 遷移到 broker 1,4上配置文件 producer配置文件 consumer配置文件 brokerKafka 性能報(bào)告(A)Kafka 性能報(bào)告(B)Q &am

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論