redis 的訊息佇列 VS kafka

2022-09-15 21:45:14 字數 626 閱讀 6847

redis push/pop vs pub/sub

(1)push/pop每條訊息只會有乙個消費者消費,而pub/sub可以有多個

對於任務佇列來說,push/pop足夠,但真的在做分布式訊息分發的時候,還是pub/sub吧。

(2)從程式設計角度看,pub/sub中sub通道需要保持長連線,而push/pop,  pop需要consumer程序定時去重新整理。

前者可以滿足實時要求,但是對程式設計架構有要求,而後者在實時性上有缺陷,但是對程式設計架構要求較低。

redis vs kafka 

(1)redis是記憶體資料庫,只是它的list資料型別剛好可以用作訊息佇列而已

kafka是訊息佇列,訊息的儲存模型只是其中的乙個環節,還提供了訊息ack和佇列容量、消費速率等訊息相關的功能,更加完善

(2)redis 發布訂閱除了表示不同的 topic 外,並不支援分組

kafka每個consumer屬於乙個特定的consumer group(default group), 同一topic的一條訊息只能被同乙個

consumer group內的乙個consumer消費,但多個consumer group可同時消費這一訊息。

(3) 處理資料大小的級別不同

參考:kafka 介紹

Redis訊息佇列

redis的訊息佇列使用簡單,沒有什麼配置,比activemq要輕量級太多,當然功能也比較簡單,如果只需要簡單的訂閱以及發布,可以考慮使用它。訂閱操作 命令為 subscribe channel channel 如 1 所示,即成功訂閱頻道 redis.blog 發布操作 命令為publish ch...

Redis 訊息佇列

訊息佇列,是在構建大型專案的時候 經常會用到的中間價系統,使用訊息佇列有很多好處,例如 1.實現各元件之間的松耦合。利用訊息系統可以使各個元件之間面向資料,而不是面向具體的介面。2.易於擴充套件。對於訊息系統而言,消費者和生產者都可以橫向擴充套件。提到佇列,很自然的就會想到redis的列表型別,可以...

Redis訊息佇列

redis的訊息佇列使用簡單,沒有什麼配置,比activemq要輕量級太多,當然功能也比較簡單,如果只需要簡單的訂閱以及發布,可以考慮使用它。訂閱操作 命令為 subscribe channel channel 如 1 所示,即成功訂閱頻道 redis.blog 發布操作 命令為publish ch...