中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Kafka怎么保證消息的順序性

發布時間:2021-12-08 15:31:09 來源:億速云 閱讀:338 作者:小新 欄目:大數據

這篇文章給大家分享的是有關Kafka怎么保證消息的順序性的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

1. 問題

比如說我們建了一個 topic,有三個 partition。生產者在寫的時候,其實可以指定一個 key,比如說我們指定了某個訂單 id 作為 key,那么這個訂單相關的數據,一定會被分發到同一個 partition 中去,而且這個 partition 中的數據一定是有順序的。
消費者從 partition 中取出來數據的時候,也一定是有順序的。到這里,順序還是 ok 的,沒有錯亂。接著,我們在消費者里可能會搞多個線程來并發處理消息。因為如果消費者是單線程消費處理,而處理比較耗時的話,比如處理一條消息耗時幾十 ms,那么 1 秒鐘只能處理幾十條消息,這吞吐量太低了。而多個線程并發跑的話,順序可能就亂掉了。

Kafka怎么保證消息的順序性

2. 解決方案

<ul class=">

  • 一個 topic,一個 partition,一個 consumer,內部單線程消費,單線程吞吐量太低,一般不會用這個。

  • 寫 N 個內存 queue,具有相同 key 的數據都到同一個內存 queue;然后對于 N 個線程,每個線程分別消費一個內存 queue 即可,這樣就能保證順序性

Kafka怎么保證消息的順序性

感謝各位的閱讀!關于“Kafka怎么保證消息的順序性”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

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

AI

射洪县| 理塘县| 绥宁县| 古浪县| 天气| 浦城县| 辽中县| 韩城市| 汶上县| 措勤县| 宜兴市| 江达县| 调兵山市| 贵港市| 改则县| 贺兰县| 北川| 子长县| 丁青县| 麻栗坡县| 沿河| 永德县| 项城市| 三门峡市| 嘉荫县| 沽源县| 临夏县| 西峡县| 凌海市| 石景山区| 商南县| 安达市| 鄂托克前旗| 德钦县| 北宁市| 增城市| 阿图什市| 宁乡县| 泽库县| 光泽县| 桂东县|