您好,登錄后才能下訂單哦!
本篇內容介紹了“rabbitmq如何保證消息的順序性”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
我舉個例子,我們以前做過一個 mysql binlog
同步的系統,壓力還是非常大的,日同步數據要達到上億,就是說數據從一個 mysql 庫原封不動地同步到另一個 mysql 庫里面去(mysql -> mysql)。常見的一點在于說比如大數據 team,就需要同步一個 mysql 庫過來,對公司的業務系統的數據做各種復雜的操作。
你在 mysql 里增刪改一條數據,對應出來了增刪改 3 條 binlog
日志,接著這三條 binlog
發送到 MQ 里面,再消費出來依次執行,起碼得保證人家是按照順序來的吧?不然本來是:增加、修改、刪除;你楞是換了順序給執行成刪除、修改、增加,不全錯了么。
本來這個數據同步過來,應該最后這個數據被刪除了;結果你搞錯了這個順序,最后這個數據保留下來了,數據同步就出錯了。
先看看順序會錯亂的倆場景:
拆分多個 queue,每個 queue 一個 consumer,就是多一些 queue 而已,確實是麻煩點;或者就一個 queue 但是對應一個 consumer,然后這個 consumer 內部用內存隊列做排隊,然后分發給底層不同的 worker 來處理。
“rabbitmq如何保證消息的順序性”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。