這篇文章給大家分享的是有關(guān)kafka與redis有什么區(qū)別的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)是一家專業(yè)提供古丈企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、html5、小程序制作等業(yè)務(wù)。10年已為古丈眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。kafka與redis的區(qū)別:
1、redis消息推送(基于分布式 pub/sub)多用于實(shí)時(shí)性較高的消息推送,并不保證可靠。
其他的mq和kafka保證可靠但有一些延遲(非實(shí)時(shí)系統(tǒng)沒(méi)有保證延遲)。redis-pub/sub斷電就清空,而使用redis-list作為消息推送雖然有持久化,但是又太弱智,也并非完全可靠不會(huì)丟。
2、redis 發(fā)布訂閱除了表示不同的 topic 外,并不支持分組,比如kafka中發(fā)布一個(gè)東西,多個(gè)訂閱者可以分組,同一個(gè)組里只有一個(gè)訂閱者會(huì)收到該消息,這樣可以用作負(fù)載均衡。
比如,kafka 中發(fā)布:topic = "發(fā)布帖子" data="文章1" 這個(gè)消息,后面有一百臺(tái)服務(wù)器每臺(tái)服務(wù)器都是一個(gè)訂閱者,都訂閱了這個(gè) topic,但是他們可能分為三組,A組50臺(tái),用來(lái)真的做發(fā)布文章,A組50臺(tái)里所有 subscriber 都訂閱了這個(gè)topic。
由于在同一組,這條消息 (topic="發(fā)布帖子", data="文章1")只會(huì)被A組里面一臺(tái)當(dāng)前空閑的機(jī)器收到。而B(niǎo)組25臺(tái)服務(wù)器用于統(tǒng)計(jì),C組25臺(tái)服務(wù)器用于存檔備份,每組只有一臺(tái)會(huì)收到。
用不同的組來(lái)決定每條消息要抄送出多少分去,用同組內(nèi)哪些訂閱者忙,哪些訂閱者空閑來(lái)決定消息會(huì)被分到哪臺(tái)服務(wù)器去處理,生產(chǎn)者消費(fèi)者模型。
redis完全沒(méi)有這類機(jī)制,這兩點(diǎn)是大的區(qū)別。
感謝各位的閱讀!關(guān)于kafka與redis有什么區(qū)別就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!