Kafka 需要更新

先看下kafka的整體

黑色箭頭的通信采用的是TCP協(xié)議.

kafka

Topic

kafka允許我們把一類消息歸類在一起, 這就是Topic, kafka還對(duì)每個(gè)Topic進(jìn)行了分區(qū). 如下就是三個(gè)分區(qū). 012345678這些叫做offset, 是partition(分區(qū))用來記錄每個(gè)offset所對(duì)應(yīng)的消息的. 如圖, 在分區(qū)中, 消息是有序的.

topic剖析

生產(chǎn)者

生產(chǎn)者發(fā)布消息

  1. 發(fā)給Topic, 在Topic內(nèi)部采用復(fù)雜均衡的模式將消息分發(fā)給各個(gè)分區(qū).
  2. 發(fā)給Topic, 并且指定發(fā)送給哪個(gè)分區(qū).

消費(fèi)者

消費(fèi)者所需要維護(hù)的數(shù)據(jù), 只有其所消費(fèi)的那個(gè)分區(qū)的offset. 按offset讀取數(shù)據(jù)的時(shí)候, 一般來說都是按照順序讀取的, 但是消費(fèi)者也可以指定offset的值, 即使這個(gè)數(shù)據(jù)已經(jīng)被讀取過了, 只要這個(gè)分區(qū)消息還在有效期中, 都可以被讀到.

隊(duì)列模式和發(fā)布/訂閱模式

  1. 隊(duì)列模式: 一組消費(fèi)者消費(fèi)一個(gè)Topic的消息, 每個(gè)消息只會(huì)被一個(gè)消費(fèi)者給消費(fèi)掉.
  2. 發(fā)布/訂閱模式: 同一條消息會(huì)同時(shí)被多消費(fèi)者消費(fèi). 每組內(nèi)可能會(huì)有一個(gè)或多個(gè)消費(fèi)者, 在組內(nèi)其實(shí)可以看做"隊(duì)列模式", 進(jìn)入組內(nèi)的一條只會(huì)被一個(gè)消費(fèi)者消費(fèi). 這里需要注意的是, 訂閱的是組而不是個(gè)體消費(fèi)者.
集群和消費(fèi)者

有序性

  • 以分區(qū)順序: 上面有說道, 每個(gè)分區(qū)內(nèi)部的消息是有順序的. 如果只有一個(gè)/組消費(fèi)這個(gè)分區(qū), 那么這個(gè)/組的消費(fèi)者消費(fèi)的消息就是順序的. 這種相對(duì)下面的方式提高了并發(fā)量的上限, 但是不能保證Topic是順序的.
  • 以Topic順序: 那么就讓這個(gè)Topic只有一個(gè)分區(qū), 并且只有一個(gè)(組)消費(fèi)者去消費(fèi)他. 但是隨之而來的問題就是并發(fā)性能上限不高的問題.

集群

zookeeper

leader和follower

pull模式?

重復(fù)消費(fèi)問題

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Kafka入門經(jīng)典教程-Kafka-about云開發(fā) http://www.aboutyun.com/threa...
    葡萄喃喃囈語閱讀 10,985評(píng)論 4 54
  • kafka的定義:是一個(gè)分布式消息系統(tǒng),由LinkedIn使用Scala編寫,用作LinkedIn的活動(dòng)流(Act...
    時(shí)待吾閱讀 5,539評(píng)論 1 15
  • 一、基本概念 介紹 Kafka是一個(gè)分布式的、可分區(qū)的、可復(fù)制的消息系統(tǒng)。它提供了普通消息系統(tǒng)的功能,但具有自己獨(dú)...
    ITsupuerlady閱讀 1,717評(píng)論 0 9
  • Kafka官網(wǎng):http://kafka.apache.org/入門1.1 介紹Kafka? 是一個(gè)分布式流處理系...
    it_zzy閱讀 4,012評(píng)論 3 53
  • 一、入門1、簡(jiǎn)介Kafka is a distributed,partitioned,replicated com...
    HxLiang閱讀 3,687評(píng)論 0 9

友情鏈接更多精彩內(nèi)容