面試題 如何保證訊息的順序性

2021-10-04 10:02:47 字數 431 閱讀 1731

如何保證訊息的順序性?

其實這個也是用mq的時候必問的,一來是看你知不知道會出現順序性的問題,二來是看你有沒有辦法保證訊息消費是順序性的,這也是生產系統中常見的問題。

假如將mysql中binlog的資料使用mq同步到其他系統中,這是原本是三條按順序的增加,修改,刪除操作,因為mq的問題,造成來順序混亂,變成了增加,刪除,修改這個時候資料就和之前的不一致了。

比如:kafka:比如說我們新建了乙個topic,有三個partition。生產者在寫的時候,其實可以指定乙個key,比如說我們指定了某個訂單id作為key,那麼這個訂單相關的資料,一定會被分發到同乙個partition中去,而且這個partition中到資料一定是有順序的。到這裡為止,其實還可以,但是如果消費者如果是多執行緒消費的話,由於消費完成的時間不同,可能會造成順序性的問題。

kafka

如何保證訊息的順序性?

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

如何保證訊息的順序性?

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

如何保證訊息的順序性?

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