溫馨提示×

溫馨提示×

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

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

將redis發布訂閱模式用做消息隊列和rabbitmq的區別

發布時間:2020-06-16 21:06:05 來源:網絡 閱讀:1456 作者:聽砜 欄目:編程語言

可靠性

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

實時性

redis:實時性高,redis作為高效的緩存服務器,所有數據都存在在服務器中,所以它具有更高的實時性

消費者負載均衡

rabbitmq隊列可以被多個消費者同時監控消費,但是每一條消息只能被消費一次,由于rabbitmq的消費確認機制,因此它能夠根據消費者的消費能力而調整它的負載;
redis發布訂閱模式,一個隊列可以被多個消費者同時訂閱,當有消息到達時,會將該消息依次發送給每個訂閱者;

持久性

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

隊列監控

rabbitmq實現了后臺監控平臺,可以在該平臺上看到所有創建的隊列的詳細情況,良好的后臺管理平臺可以方面我們更好的使用;
redis沒有所謂的監控平臺。

總結

redis: 輕量級,低延遲,高并發,低可靠性;
rabbitmq:重量級,高可靠,異步,不保證實時;
rabbitmq是一個專門的AMQP協議隊列,他的優勢就在于提供可靠的隊列服務,并且可做到異步,而redis主要是用于緩存的,redis的發布訂閱模塊,可用于實現及時性,且可靠性低的功能。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女