原文:消息隊列如何保證冪等性?

面試官心理剖析: 主要是看你對消息隊列數據重復消費的問題,是否有了解,是否知道怎么解決 如果這塊不知道,那么面試官會覺得如果交給你做功能,可能會出現多次消費的情況。 回答: 為什么會出現重復消費 分析: 如圖,在什么場景會出現消息重復消費 比如說消費端已經消費了 offset ,offset ,offset 的三條數據,正准備把這個 offset 的值傳給 kafka,這時候消費端機器宕機了,這個 ...

2019-03-27 11:35 0 4307 推薦指數:

查看詳情

如何保證消息隊列

比如你拿個數據要寫庫,你先根據主鍵查一下,如果這數據都有了,你就別插入了,update 一下好吧。(高並發會有問題) 比如你是寫 Redis,那沒問題了,反正每次都是 set,天然。 比如你不是上面兩個場景,那做的稍微復雜一點,你需要讓生產者發送每條數據的時候,里面加一個全局唯一的 id ...

Mon Apr 22 05:46:00 CST 2019 0 1516
消息隊列的消費如何保證

什么是等? 任意多次執行所產生的影響均與一次執行的影響相同就可以稱為等 什么是消息等? 當出現消費者對某條消息重復消費的情況時,重復消費的結果與消費一次的結果是相同的,並且多次消費並未對業務系統產生任何負面影響 為什么我們要保證,不保證,會不會有問題? 這個問題其實沒法 ...

Mon Aug 10 02:41:00 CST 2020 1 1315
消息隊列-如何保證消息的不被重復消費(如何保證消息消費的

消息傳遞過程中,如果出現傳遞失敗的情況,發送會執行重試,重試可能會產生重復的消息。對系統來說,如果沒有對重復消費進行處理,會導致系統數據發生錯誤。 比如,一個訂單系統,訂單創建成功后,把數據寫入統計數據庫,如果發生重復統計,會導致數據庫數據錯誤。 解決消息重復消費,其實就是保證消息 ...

Fri Nov 19 15:45:00 CST 2021 0 220
如何保證消息不被重復消費以及怎么保證消息隊列消費的

1、面試官心里分析 其實這個很常見的一個問題,這倆問題基本可以連起來問。既然是消費消息,那肯定要考慮考慮會不會重復消費?能不能避免重復消費?或者重復消費了也別造成系統異常可以嗎?這個是MQ領域的基本問題,其實本質上還是問你使用消息隊列如何保證,這個是你架構里要考慮的一個問題。面試官問你 ...

Fri Mar 08 05:03:00 CST 2019 0 819
消息隊列保證消息消費的

昨天業務反饋了一個問題,一個用戶的月流水賬單重復了,拿到userid,開始定位問題之路。 查看數據庫記錄,如下圖,用戶月流水數據確實重復了(taskid同一個批次,每個月數據都有二條)。 1. 首先,看外部數據供應商是否重復推送業務數據給我,我程序中是會設置攔截重復消息 2. 查看 ...

Tue May 21 23:20:00 CST 2019 0 541
如何保證消息隊列的高可用和以及數據丟失,順序一致

如何保證消息隊列的高可用和以及數據丟失,順序一致 <!-- more --> RabbitMQ的高可用 RabbitMQ是比較有代表的,因為是基於主從做高可用的,我們就以他為例子講解第一種MQ的高可用怎么實現。 rabbitmq有三種模式: 單機模式 ...

Thu Jan 03 19:59:00 CST 2019 0 1815
如何保證消息隊列的順序

或者:如何保證消息隊列里拿到的數據按順序執行? 解決方案的關鍵是在消費者消費之前,將有相關的數據按順序寫入同一個隊列(queue或者是內存隊列) 1、rabbitMQ 中,有個默認是數據1進入一個queue並且只會被一個消費者消費   場景:(1queue對多consumer ...

Sun Mar 01 07:58:00 CST 2020 0 1095
消息隊列如何保證順序

主要思路有兩種:1、單線程消費來保證消息的順序;2、對消息進行編號,消費者處理時根據編號判斷順序。 1、rabbitMq問題分析:如圖,data1 和 data2 是有順序的,必須 data1 先執行,data2 后執行;這兩個數據被不同的消費者消費到了,可能 data2 先執行,data1 ...

Thu Jan 31 16:58:00 CST 2019 0 13638
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM