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

RabbitMQ宕機(jī)后,消息100%不會(huì)丟失嗎

開發(fā) 架構(gòu)
你的RabbitMQ部署在線上服務(wù)器了,對(duì)吧?然后訂單服務(wù)和倉儲(chǔ)服務(wù)都可以基于RabbitMQ來收發(fā)消息,同時(shí)倉儲(chǔ)服務(wù)宕機(jī),不會(huì)導(dǎo)致消息丟失。

?這篇文章,給不太熟悉MQ技術(shù)的同學(xué),介紹一個(gè)生產(chǎn)環(huán)境中可能會(huì)遇到的問題。

目前為止,你的RabbitMQ部署在線上服務(wù)器了,對(duì)吧?然后訂單服務(wù)和倉儲(chǔ)服務(wù)都可以基于RabbitMQ來收發(fā)消息,同時(shí)倉儲(chǔ)服務(wù)宕機(jī),不會(huì)導(dǎo)致消息丟失。

好,我們來看下目前為止的架構(gòu)圖。

那如果此時(shí)出現(xiàn)一個(gè)問題,就是說訂單服務(wù)投遞了訂單消息到RabbitMQ里去,RabbitMQ暫時(shí)放在了自己的內(nèi)存中,還沒來得及投遞給下游的倉儲(chǔ)服務(wù)呢,此時(shí)RabbitMQ突然宕機(jī)了,會(huì)怎么樣?

答案其實(shí)很簡(jiǎn)單,默認(rèn)情況下,按照我們目前的代碼和配置,這個(gè)數(shù)據(jù)就會(huì)丟失了。

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

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

使用下面的代碼,就可以把我們的“warehouse_schedule_delivery”這個(gè)queue,也就是倉儲(chǔ)調(diào)度發(fā)貨的queue,設(shè)置為持久化的。

這樣,即使RabbitMQ宕機(jī)后重啟,也會(huì)恢復(fù)之前創(chuàng)建好的這個(gè)queue。

大家看到上面那行定義和創(chuàng)建queue的代碼么?核心在于第二個(gè)參數(shù),第二個(gè)參數(shù)是true。

他的意思就是說,這個(gè)創(chuàng)建的queue是durable的,也就是支持持久化的。

RabbitMQ會(huì)把這queue的相關(guān)信息持久化的存儲(chǔ)到磁盤上去,這樣RabbitMQ重啟后,就可以恢復(fù)持久化的queue。

OK,現(xiàn)在你的queue的信息可以持久化了,RabbitMQ宕機(jī)重啟后會(huì)自動(dòng)恢復(fù)queue。但是,你的queue里的message數(shù)據(jù)呢? queue里都是訂單服務(wù)發(fā)送過去的訂單消息數(shù)據(jù),如果RabbitMQ還沒來得及投遞queue里的訂單消息到倉儲(chǔ)服務(wù),結(jié)果RabbitMQ就宕機(jī)了。

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

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

一旦標(biāo)記了消息是持久化之后,就會(huì)讓RabbitMQ把消息持久化寫入到磁盤上去,此時(shí)如果RabbitMQ還沒投遞數(shù)據(jù)到倉儲(chǔ)服務(wù),結(jié)果就突然宕機(jī)了。那么再次重啟的時(shí)候,就會(huì)把磁盤上持久化的消息給加載出來。

整個(gè)過程,如下圖所示:

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

因?yàn)橛锌赡躌abbitMQ接收到了消息,但是還沒來得及持久化到磁盤,他自己就宕機(jī)了,這個(gè)時(shí)候消息還是會(huì)丟失的。

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

責(zé)任編輯:武曉燕 來源: 今日頭條
相關(guān)推薦

2023-10-20 13:18:05

Flink數(shù)據(jù)

2022-07-11 08:01:55

Kafka服務(wù)器宕機(jī)

2025-03-14 07:57:54

2023-06-01 08:54:08

RabbitMQ確認(rèn)機(jī)制生產(chǎn)端

2022-07-31 22:07:03

宕機(jī)業(yè)務(wù)場(chǎng)景

2022-12-16 17:15:33

MQRabbitMQ

2022-08-29 18:14:55

MQ數(shù)據(jù)不丟失

2020-01-15 08:52:40

RabbitMQSpringMybatis

2023-10-23 11:22:06

Redis數(shù)據(jù)持久化

2024-08-12 12:17:03

2022-03-31 08:26:44

RocketMQ消息排查

2020-12-31 07:34:04

Redis數(shù)據(jù)宕機(jī)

2022-12-26 18:53:00

MQ宕機(jī)倉儲(chǔ)服務(wù)

2019-03-13 09:27:57

宕機(jī)Kafka數(shù)據(jù)

2020-12-01 10:18:16

RabbitMQ

2022-04-19 16:44:19

MySQLbuffer數(shù)據(jù)庫

2022-10-11 23:14:39

模態(tài)循環(huán)過濾器代碼

2021-08-04 07:47:18

Kafka消息框架

2024-08-06 09:55:25

2023-10-22 11:17:50

AOFRedis數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: а天堂中文最新一区二区三区 | 日本 欧美 三级 高清 视频 | 国产精品日韩欧美一区二区三区 | 亚洲一区二区免费 | 午夜噜噜噜 | 欧美精品一区二区在线观看 | 久久久久久久久久久爱 | 日韩久久久久 | 古典武侠第一页久久777 | 成人精品系列 | 大乳boobs巨大吃奶挤奶 | 国产一区| 久久久久久久久国产精品 | 欧美精品一区二区三区蜜桃视频 | 久久久国产精品入口麻豆 | 国产精品视频偷伦精品视频 | 香蕉久久a毛片 | 日韩视频―中文字幕 | 99视频免费| 一区二区三区欧美在线 | 欧美日韩综合视频 | 毛片免费视频 | 成人网av | 国产成人高清视频 | 欧美一区二区在线观看视频 | 国产高清精品一区 | 中文字幕第三页 | 亚洲一区影院 | 成人精品国产免费网站 | 亚洲视频免费在线观看 | 久久久久亚洲精品 | 国产精品99久久久久久久久 | 日韩精品二区 | 国产精品久久午夜夜伦鲁鲁 | 国产伦精品一区二区三区照片91 | 黄色毛片在线播放 | 色网站视频 | 狠狠综合久久av一区二区小说 | 国产精品视频偷伦精品视频 | www狠狠爱com| 国产精品99久久久久久久久久久久 |