原文:關於MQ的幾件小事(四)如何保證消息不丟失

.mq原則 數據不能多,也不能少,不能多是說消息不能重復消費,這個我們上一節已解決 不能少,就是說不能丟失數據。如果mq傳遞的是非常核心的消息,支撐核心的業務,那么這種場景是一定不能丟失數據的。 .丟失數據場景 丟數據一般分為兩種,一種是mq把消息丟了,一種就是消費時將消息丟了。下面從rabbitmq和kafka分別說一下,丟失數據的場景, rabbitmq A:生產者弄丟了數據 生產者將數據發 ...

2019-05-22 21:55 0 2408 推薦指數:

查看詳情

關於MQ幾件小事(五)如何保證消息按順序執行

1.為什么要保證順序 消息隊列中的若干消息如果是對同一個數據進行操作,這些操作具有前后的關系,必須要按前后的順序執行,否則就會造成數據異常。舉例: 比如通過mysql binlog進行兩個數據庫的數據同步,由於對數據庫的數據操作是具有順序性的,如果操作順序搞反,就會造成不可估量的錯誤。比如數 ...

Thu May 23 05:56:00 CST 2019 0 3014
關於MQ幾件小事(三)如何保證消息不重復消費

1.冪等性 冪等(idempotent、idempotence)是一個數學與計算機學概念,常見於抽象代數中。 在編程中一個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。冪等 ...

Thu May 23 05:55:00 CST 2019 0 5259
關於MQ幾件小事(六)消息積壓在消息隊列里怎么辦

1.大量消息mq里積壓了幾個小時了還沒解決 場景:幾千萬條數據在MQ里積壓了七八個小時,從下午4點多,積壓到了晚上很晚,10點多,11點多。線上故障了,這個時候要不然就是修復consumer的問題,讓他恢復消費速度,然后傻傻的等待幾個小時消費完畢。這個肯定不行。一個消費者一秒是1000條,一秒 ...

Thu May 23 05:57:00 CST 2019 0 4875
關於MQ幾件小事(一)消息隊列的用途、優缺點、技術選型

1.為什么使用消息隊列? (1)解耦:可以在多個系統之間進行解耦,將原本通過網絡之間的調用的方式改為使用MQ進行消息的異步通訊,只要該操作不是需要同步的,就可以改為使用MQ進行不同系統之間的聯系,這樣項目之間不會存在耦合,系統之間不會產生太大的影響,就算一個系統掛了,也只是消息擠壓在MQ里面沒人 ...

Thu May 23 05:53:00 CST 2019 1 843
關於MQ幾件小事消息隊列的用途、優缺點、技術選型

原文:https://www.cnblogs.com/jack1995/p/10908789.html 1.為什么使用消息隊列? (1)解耦:可以在多個系統之間進行解耦,將原本通過網絡之間的調用的方式改為使用MQ進行消息的異步通訊,只要該操作不是需要同步的,就可以改為使用MQ進行不同系 ...

Wed Jun 26 20:29:00 CST 2019 0 1253
消息隊列MQ如何保證消息丟失

消息隊列防止消息丟失 1、 生產者發送消息到broker失敗;生產者使用事務消息。 2、 Broker集群主從同步失敗;兩階段提交,多數節點成功后提交。 3、 MQ異步刷盤,可能會消息丟失;改為同步刷盤。 4、 Broker發送消息到消費者失敗;消費者ack機制。 5、 MQ集群 ...

Fri Jan 07 04:59:00 CST 2022 0 1241
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM