首頁  >  文章  >  資料庫  >  kafka與redis的差別有哪些

kafka與redis的差別有哪些

尚
原創
2019-06-24 14:29:306382瀏覽

kafka與redis的差別有哪些

kafka與redis的差異:  

#1、redis訊息推送(基於分散式pub/sub)多用於即時性較高的訊息推送,並不保證可靠。
其他的mq和kafka保證可靠但有一些延遲(非即時系統沒有保證延遲)。 redis-pub/sub斷電就清空,而使用redis-list作為訊息推播雖然有持久化,但是又太弱智,也並非完全可靠不會丟。

2、redis 發布訂閱除了表示不同的topic 外,並不支援分組,例如kafka中發布一個東西,多個訂閱者可以分組,同一個群組裡只有一個訂閱者會收到該訊息,這樣可以用作負載平衡。

例如,kafka 發佈:topic = "發佈貼文" data="文章1" 這個訊息,後面有一百台伺服器每台伺服器都是一個訂閱者,都訂閱了這個topic,但是他們可能分成三組,A組50台,用來真的做發布文章,A組50台裡所有subscriber 都訂閱了這個topic。

由於在同一組,這則訊息 (topic="發佈貼文", data="文章1")只會被A組裡面一台目前空閒的機器收到。而B組25台伺服器用於統計,C組25台伺服器用於存檔備份,每組只有一台會收到。

用不同的群組來決定每個訊息要抄送多少分去,用同群組內哪些訂閱者忙,哪些訂閱者空閒來決定訊息會被分到哪台伺服器去處理,生產者消費者模型。

redis完全沒有這類機制,這兩點是最大的差別。

更多Redis相關技術文章,請造訪Redis教學欄位進行學習!

以上是kafka與redis的差別有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn