亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Kafka核心中的偏移量機制Offset是怎么樣的

發布時間:2021-12-15 10:22:54 來源:億速云 閱讀:462 作者:柒染 欄目:云計算

這篇文章給大家介紹Kafka核心中的偏移量機制Offset是怎么樣的,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

    Kafka是由LinkIn開源的實時數據處理框架,目前已經更新到2.3版本。不同于一般的消息中間件,Kafka通過數據持久化和磁盤讀寫獲得了極高的吞吐量,并可以不依賴Storm,SparkStreaming的流處理平臺,自己進行實時的流處理。

Kakfa的Offset機制是其最核心機制之一,由于API對于部分功能的實現,我們有時并沒有手動去設置Offset,那么Kafka到底有幾個Offset呢?

一、生產者Offset

首先,我們先來看生產者的offset,我們知道Kafka是通過生產者將消息發送給某一個topic,消費者再消費這個topic的消息,當然可能有多個生產者,多個消費者,還可能有消費者組的概念,這個稍后在討論。

當生產者將消息發送給某一個topic時,要看有多少個分區,因為kafka是通過分區機制實現分布式的。


Kafka核心中的偏移量機制Offset是怎么樣的

圖  生產者offset

通過此圖可以清晰的看到生產者的offset原理,不管是多少個生產者,還是我們規定了他們會寫入哪一個分區,但只要他們寫入的時候,一定是每一個分區都有一個offset,這個offset就是生產者的offset,同時也是這個分區的最新最大的offset。

有些時候我們在開發生產者代碼時并沒有指定某一個分區的offset,可能是我們使用的單分區,或者默認均勻的寫入多個分區,這個工作kafka幫我們完成了。

二、消費者Offset

再來看消費者端offset,要稍微復雜一些。

Kafka核心中的偏移量機制Offset是怎么樣的

圖 消費者offset

這是某一個分區的offset情況,我們已經知道生產者寫入的offset是最新最大的值也就是12,而當Consumer A進行消費時,他從0開始消費,一直消費到了9,他的offset就記錄在了9,Consumer B就紀錄在了11。等下一次他們再來消費時,他們可以選擇接著上一次的位置消費,當然也可以選擇從頭消費,或者跳到最近的記錄并從“現在”開始消費。

這樣即使有多個分區,消費者也能靈活使用。

Kafka核心中的偏移量機制Offset是怎么樣的

圖 消費者組

消費者組的概念其實并不影響對offset的理解,上面的情況Consumer A,Consumer B如果是同組就不能同時消費一個分區的消息,不同組的消費者可以同時消費一個分區的消息。

還有一種offset的說法,就是consumer消費未提交時,本地是有另外一個offset的,這個offset不一定與集群中記錄的offset一致。

所以,kafka每一個topic分區和生產者,消費者不同,是有多個offset的。

offset是指某一個分區的偏移量。

topic partition offset 這三個唯一確定一條消息。

生產者的offset其實就是最新的offset。

消費者的offset是他自己維護的,他可以選擇分區最開始,最新,也可以記住他消費到哪了。

消費者組是為了不同組的消費者可以同時消費一個分區的消息。

關于Kafka核心中的偏移量機制Offset是怎么樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

静宁县| 乌拉特中旗| 集安市| 喀喇| 巍山| 丰顺县| 广昌县| 酉阳| 东至县| 五家渠市| 东台市| 梓潼县| 吴川市| 佛教| 山东省| 丹棱县| 五大连池市| 双柏县| 巴彦县| 招远市| 怀化市| 百色市| 兴安县| 晴隆县| 贡觉县| 蒲江县| 郴州市| 宿松县| 永新县| 景宁| 正安县| 邵武市| 东乡族自治县| 北川| 阜南县| 托克逊县| 沂源县| 余庆县| 武安市| 通许县| 永胜县|