5 如何保證訊息的順序性?

2021-09-28 11:27:53 字數 515 閱讀 8222

比如說我們建了乙個 topic,有三個 partition。生產者在寫的時候,可以指定乙個 key,比如指定了某個訂單 id 作為 key,key相同的資料,一定會被分發到同乙個 partition中去,而且這個 partition 中的資料一定是有順序的。

1)拆分多個 queue,每個 queue 乙個 consumer;2)或者就乙個 queue 但是對應乙個 consumer,然後這個 consumer 內部用記憶體佇列做排隊,然後分發給底層不同的 worker 來處理。

寫 n 個記憶體 queue,具有相同 key 的資料都到同乙個記憶體 queue;然後對於 n 個執行緒,每個執行緒分別消費乙個記憶體 queue 即可,這樣就能保證順序性(乙個consumer多個執行緒並行處理提高吞吐量)。

如何保證訊息的順序性?

我舉個例子,我們以前做過乙個 mysql binlog 同步的系統,壓力還是非常大的,日同步資料要達到上億,就是說資料從乙個 mysql 庫原封不動地同步到另乙個 mysql 庫裡面去 mysql mysql 常見的一點在於說比如大資料 team,就需要同步乙個 mysql 庫過來,對公司的業務系統...

如何保證訊息的順序性?

面試題 如何保證訊息的順序性?面試官心理分析 其實這個也是用 mq 的時候必問的話題,第一看看你了不了解順序這個事兒?第二看看你有沒有辦法保證訊息是有順序的?這是生產系統中常見的問題。面試題剖析 我舉個例子,我們以前做過乙個 mysql binlog 同步的系統,壓力還是非常大的,日同步資料要達到上...

如何保證訊息的順序性?

如何保證訊息的順序性?其實這個也是用 mq 的時候必問的話題,第一看看你了不了解順序這個事兒?第二看看你有沒有辦法保證訊息是有順序的?這是生產系統中常見的問題。我舉個例子,我們以前做過乙個 mysql binlog 同步的系統,壓力還是非常大的,日同步資料要達到上億,就是說資料從乙個 mysql 庫...