溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

將redis發(fā)布訂閱模式用做消息隊(duì)列和rabbitmq的區(qū)別

發(fā)布時(shí)間:2020-06-16 21:06:05 來源:網(wǎng)絡(luò) 閱讀:1453 作者:聽砜 欄目:編程語言

可靠性

redis :沒有相應(yīng)的機(jī)制保證消息的可靠消費(fèi),如果發(fā)布者發(fā)布一條消息,而沒有對應(yīng)的訂閱者的話,這條消息將丟失,不會存在內(nèi)存中;
rabbitmq:具有消息消費(fèi)確認(rèn)機(jī)制,如果發(fā)布一條消息,還沒有消費(fèi)者消費(fèi)該隊(duì)列,那么這條消息將一直存放在隊(duì)列中,直到有消費(fèi)者消費(fèi)了該條消息,以此可以保證消息的可靠消費(fèi);

實(shí)時(shí)性

redis:實(shí)時(shí)性高,redis作為高效的緩存服務(wù)器,所有數(shù)據(jù)都存在在服務(wù)器中,所以它具有更高的實(shí)時(shí)性

消費(fèi)者負(fù)載均衡

rabbitmq隊(duì)列可以被多個(gè)消費(fèi)者同時(shí)監(jiān)控消費(fèi),但是每一條消息只能被消費(fèi)一次,由于rabbitmq的消費(fèi)確認(rèn)機(jī)制,因此它能夠根據(jù)消費(fèi)者的消費(fèi)能力而調(diào)整它的負(fù)載;
redis發(fā)布訂閱模式,一個(gè)隊(duì)列可以被多個(gè)消費(fèi)者同時(shí)訂閱,當(dāng)有消息到達(dá)時(shí),會將該消息依次發(fā)送給每個(gè)訂閱者;

持久性

redis:redis的持久化是針對于整個(gè)redis緩存的內(nèi)容,它有RDB和AOF兩種持久化方式(redis持久化方式,后續(xù)更新),可以將整個(gè)redis實(shí)例持久化到磁盤,以此來做數(shù)據(jù)備份,防止異常情況下導(dǎo)致數(shù)據(jù)丟失。
rabbitmq:隊(duì)列,消息都可以選擇性持久化,持久化粒度更小,更靈活;

隊(duì)列監(jiān)控

rabbitmq實(shí)現(xiàn)了后臺監(jiān)控平臺,可以在該平臺上看到所有創(chuàng)建的隊(duì)列的詳細(xì)情況,良好的后臺管理平臺可以方面我們更好的使用;
redis沒有所謂的監(jiān)控平臺。

總結(jié)

redis: 輕量級,低延遲,高并發(fā),低可靠性;
rabbitmq:重量級,高可靠,異步,不保證實(shí)時(shí);
rabbitmq是一個(gè)專門的AMQP協(xié)議隊(duì)列,他的優(yōu)勢就在于提供可靠的隊(duì)列服務(wù),并且可做到異步,而redis主要是用于緩存的,redis的發(fā)布訂閱模塊,可用于實(shí)現(xiàn)及時(shí)性,且可靠性低的功能。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI