成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

RabbitMQ宕機后,消息100%不會丟失嗎

開發 架構
你的RabbitMQ部署在線上服務器了,對吧?然后訂單服務和倉儲服務都可以基于RabbitMQ來收發消息,同時倉儲服務宕機,不會導致消息丟失。

?這篇文章,給不太熟悉MQ技術的同學,介紹一個生產環境中可能會遇到的問題。

目前為止,你的RabbitMQ部署在線上服務器了,對吧?然后訂單服務和倉儲服務都可以基于RabbitMQ來收發消息,同時倉儲服務宕機,不會導致消息丟失。

好,我們來看下目前為止的架構圖。

那如果此時出現一個問題,就是說訂單服務投遞了訂單消息到RabbitMQ里去,RabbitMQ暫時放在了自己的內存中,還沒來得及投遞給下游的倉儲服務呢,此時RabbitMQ突然宕機了,會怎么樣?

答案其實很簡單,默認情況下,按照我們目前的代碼和配置,這個數據就會丟失了。

所以在這里而言,就牽扯到了RabbitMQ的一個較為重要的概念:消息的持久化,用英文來說就是durable機制。

然后這里又有一個引申的概念,如果按照我們之前的代碼和配置,默認情況下,RabbitMQ一旦宕機就再次重啟,就會丟失我們之前創建的queue。所以首先得先讓queue是持久化的。

使用下面的代碼,就可以把我們的“warehouse_schedule_delivery”這個queue,也就是倉儲調度發貨的queue,設置為持久化的。

這樣,即使RabbitMQ宕機后重啟,也會恢復之前創建好的這個queue。

大家看到上面那行定義和創建queue的代碼么?核心在于第二個參數,第二個參數是true。

他的意思就是說,這個創建的queue是durable的,也就是支持持久化的。

RabbitMQ會把這queue的相關信息持久化的存儲到磁盤上去,這樣RabbitMQ重啟后,就可以恢復持久化的queue。

OK,現在你的queue的信息可以持久化了,RabbitMQ宕機重啟后會自動恢復queue。但是,你的queue里的message數據呢? queue里都是訂單服務發送過去的訂單消息數據,如果RabbitMQ還沒來得及投遞queue里的訂單消息到倉儲服務,結果RabbitMQ就宕機了。

那此時RabbitMQ重啟之后,他可以恢復queue的信息,但是queue的message數據是沒法恢復了。 所以此時還有一個重要的點,就是在你的訂單服務發送消息到RabbitMQ的時候,需要定義這條消息也是durable,即持久化的。

通過上面的方式來發送消息,就可以讓發送出去的消息是持久化的。

一旦標記了消息是持久化之后,就會讓RabbitMQ把消息持久化寫入到磁盤上去,此時如果RabbitMQ還沒投遞數據到倉儲服務,結果就突然宕機了。那么再次重啟的時候,就會把磁盤上持久化的消息給加載出來。

整個過程,如下圖所示:

但是這里要注意一點,RabbitMQ的消息持久化,是不承諾100%的消息不丟失的。

因為有可能RabbitMQ接收到了消息,但是還沒來得及持久化到磁盤,他自己就宕機了,這個時候消息還是會丟失的。

如果要完全100%保證寫入RabbitMQ的數據必須落地磁盤,不會丟失,需要依靠其他的機制。?

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-10-20 13:18:05

Flink數據

2022-07-11 08:01:55

Kafka服務器宕機

2025-03-14 07:57:54

2023-06-01 08:54:08

RabbitMQ確認機制生產端

2022-07-31 22:07:03

宕機業務場景

2022-12-16 17:15:33

MQRabbitMQ

2022-08-29 18:14:55

MQ數據不丟失

2020-01-15 08:52:40

RabbitMQSpringMybatis

2023-10-23 11:22:06

Redis數據持久化

2024-08-12 12:17:03

2022-03-31 08:26:44

RocketMQ消息排查

2020-12-31 07:34:04

Redis數據宕機

2022-12-26 18:53:00

MQ宕機倉儲服務

2019-03-13 09:27:57

宕機Kafka數據

2020-12-01 10:18:16

RabbitMQ

2022-04-19 16:44:19

MySQLbuffer數據庫

2022-10-11 23:14:39

模態循環過濾器代碼

2021-08-04 07:47:18

Kafka消息框架

2024-08-06 09:55:25

2023-12-04 09:23:49

分布式消息
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: av香蕉 | 成人性视频免费网站 | 夜色www国产精品资源站 | 亚洲欧洲成人av每日更新 | 色婷婷综合成人av | 国产女人与拘做受免费视频 | 欧美v在线观看 | 欧美成人精品在线 | 视频一二三区 | 美女黄视频网站 | 精品一区国产 | 中文在线一区 | 亚洲午夜精品一区二区三区他趣 | 在线一区视频 | av在线一区二区三区 | 国产精品视频一二三区 | 97国产超碰 | 国产成人一区二区三区电影 | 亚洲一区二区精品视频 | 成人精品在线视频 | 在线天堂免费中文字幕视频 | 在线精品观看 | 日本 欧美 三级 高清 视频 | 天堂av免费观看 | 99精品国产一区二区青青牛奶 | 亚洲精品乱码久久久久久9色 | 日韩在线h| 最新国产精品 | 日韩三级在线 | 国内精品久久精品 | 综合天天久久 | av在线影院 | 羞羞视频网站免费看 | 久久久久中文字幕 | 精品国产乱码一区二区三区a | 国产精品一区久久久 | 日韩欧美在线一区 | 欧美精品一二三 | 日韩视频―中文字幕 | 亚洲一本 | 射久久|