redis和kafka比较
redis 消息推送(基于分布式 pub/sub)多用于實時性較高的消息推送,并不保證可靠。
其他的mq和kafka保證可靠但有一些延遲(非實時系統(tǒng)沒有保證延遲)。redis-pub/sub斷電就清空,而使用redis-list作為消息推送雖然有持久化,但是又太弱智,也并非完全可靠不會丟。
另外一點,redis 發(fā)布訂閱除了表示不同的 topic 外,并不支持分組,比如kafka中發(fā)布一個東西,多個訂閱者可以分組,同一個組里只有一個訂閱者會收到該消息,這樣可以用作負載均衡。
比如,kafka 中發(fā)布:topic = "發(fā)布帖子" data="文章1" 這個消息,后面有一百臺服務器每臺服務器都是一個訂閱者,都訂閱了這個 topic,但是他們可能分為三組,A組50臺,用來真的做發(fā)布文章,A組50臺里所有 subscriber 都訂閱了這個topic。
由于在同一組,這條消息 (topic="發(fā)布帖子", data="文章1")只會被A組里面一臺當前空閑的機器收到。而B組25臺服務器用于統(tǒng)計,C組25臺服務器用于存檔備份,每組只有一臺會收到。
用不同的組來決定每條消息要抄送出多少分去,用同組內(nèi)哪些訂閱者忙,哪些訂閱者空閑來決定消息會被分到哪臺服務器去處理,生產(chǎn)者消費者模型嘛。
redis完全沒有這類機制,這兩點是最大的區(qū)別。。。。。
來源:https://blog.csdn.net/yjh314/article/details/77929707
總結(jié)
以上是生活随笔為你收集整理的redis和kafka比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重返十七岁综艺节目歌曲(重返十七岁综艺节
- 下一篇: kafka(一)-为什么使用kafka