日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
你知道Kafka和Redis的各自優(yōu)缺點(diǎn)嗎?一文帶你優(yōu)化選擇

Redis 大數(shù)據(jù)技術(shù)相輔相成,沒(méi)有任何一種技術(shù)是沒(méi)有缺點(diǎn),孤立發(fā)展的。今天咱們來(lái)分析下Kafka和Redis的對(duì)比,看分布式發(fā)布訂閱都有什么各自的優(yōu)勢(shì)與缺點(diǎn)。

我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)服務(wù),我們努力開(kāi)拓更好的視野,通過(guò)不懈的努力,成都創(chuàng)新互聯(lián)公司贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),小程序設(shè)計(jì),網(wǎng)站開(kāi)發(fā),技術(shù)開(kāi)發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫(kù)的技術(shù)開(kāi)發(fā)工程師。

 前言

大數(shù)據(jù)技術(shù)相輔相成,沒(méi)有任何一種技術(shù)是沒(méi)有缺點(diǎn),孤立發(fā)展的。今天咱們來(lái)分析下Kafka和Redis的對(duì)比,看分布式發(fā)布訂閱都有什么各自的優(yōu)勢(shì)與缺點(diǎn)。

Redis是什么

Redis 是開(kāi)源免費(fèi)的,遵守BSD協(xié)議,是一個(gè)高性能的key-value非關(guān)系型數(shù)據(jù)庫(kù)。可能有朋友會(huì)問(wèn),Redis作為存儲(chǔ)數(shù)據(jù)庫(kù),怎么和分布式發(fā)布訂閱消息系統(tǒng)Kafka對(duì)比??jī)烧弑旧聿皇峭粋€(gè)層次的東西啊。

但是Redis中有一個(gè)queue的數(shù)據(jù)類(lèi)型,用來(lái)做發(fā)布/訂閱系統(tǒng),這個(gè)就可以和kafka進(jìn)行比較了。

kafka是什么

Kafka 是一個(gè)高吞吐、分布式、基于發(fā)布訂閱的消息系統(tǒng),利用Kafka技術(shù)可在廉價(jià)PC Server上搭建起大規(guī)模消息系統(tǒng)。Kafka具有消息持久化、高吞吐、分布式、多客戶端支持、實(shí)時(shí)等特性

現(xiàn)在干貨來(lái)了,kafka和Redis的區(qū)別聯(lián)系

存儲(chǔ)介質(zhì)不同

redis queue數(shù)據(jù)是存儲(chǔ)在內(nèi)存,雖然有AOF和RDB的持久化方式,但是還是以內(nèi)存為主。

kafka是存儲(chǔ)在硬盤(pán)上

性能不同

因?yàn)榇鎯?chǔ)介質(zhì)不同,理論上redis queue的性能要優(yōu)于kafka,但是在實(shí)際使用過(guò)程,這塊體驗(yàn)并不是很明顯,通常只有一些高并發(fā)場(chǎng)景下需要用redis queue,比如發(fā)紅包,可以先將紅包預(yù)先拆解然后push到redis queue,在搶的一瞬間可以很好的支撐并發(fā)。

成本不同

這邊要?jiǎng)澲攸c(diǎn),劃重點(diǎn),劃重點(diǎn)。

kafka存儲(chǔ)在硬盤(pán)上,成本會(huì)比內(nèi)存小很多,具體差1,2個(gè)數(shù)量級(jí)是有,在數(shù)據(jù)量非常大的情況下,使用kafka能夠節(jié)省蠻多服務(wù)器成本。最常見(jiàn)的有應(yīng)用產(chǎn)生的日志,這些日志產(chǎn)生的量級(jí)一般都很大,如果有需要進(jìn)行處理,可以使用kafka隊(duì)列。

這只是簡(jiǎn)單的介紹原始差距,咱們?cè)賮?lái)看核心對(duì)比——作為消息隊(duì)列的優(yōu)劣對(duì)比

Redis作為消息隊(duì)列

redis發(fā)布(pub)、訂閱(sub)模式

redis中的發(fā)布訂閱由三部分組成。發(fā)布者(生產(chǎn)者)、通道(類(lèi)似于topic)、訂閱者(消費(fèi)者),具體結(jié)構(gòu)如下圖:

Redis的pub-sub模式非常像西式快餐一樣,快餐快消,全都是因?yàn)镽edis是使用內(nèi)存來(lái)做存取,所有你生產(chǎn)的消息立馬會(huì)被消費(fèi)者一次性全部處理掉,并且沒(méi)有留下任何痕跡, 同時(shí)因?yàn)閮?nèi)存總是寶貴的,所以內(nèi)存上會(huì)有限制,當(dāng)生產(chǎn)者以及消費(fèi)者上來(lái)的時(shí)候也會(huì)對(duì)redis的效率,還有Redis在處理發(fā)布和消費(fèi)big size(10K+的文件)的數(shù)據(jù)的時(shí)候會(huì)表現(xiàn)出無(wú)法忍受的緩慢

  如果有以下場(chǎng)景可以考慮使用Redis作為消息隊(duì)列

  •  如果你的需求是快產(chǎn)快消的即時(shí)消費(fèi)場(chǎng)景,并且生產(chǎn)的消息立即被消費(fèi)者消費(fèi)掉
  •  如果速度是你十分看重的,比如慢了一秒好幾千萬(wàn)這種
  •  如果允許出現(xiàn)消息丟失的場(chǎng)景
  •  如果你不需要系統(tǒng)保存你發(fā)送過(guò)的消息,做到來(lái)無(wú)影去無(wú)蹤
  •  如果需要處理的數(shù)據(jù)量并不是那么巨大

KafKa作為消息隊(duì)列

  KafKa的設(shè)計(jì)精妙,支持分布式,高可用的部署,并且對(duì)一個(gè)大的隊(duì)列采用分成多個(gè)Partition(分區(qū)),來(lái)提高消息入隊(duì)的吞吐量,分而治之的思想. 并且消費(fèi)的時(shí)候支持group的概念,能夠支持多個(gè)客戶端消費(fèi)同個(gè)隊(duì)列,并且一個(gè)group中可以增加consumer的數(shù)量來(lái)擴(kuò)展消費(fèi)的處理量.

  KafKa不受生產(chǎn)者數(shù)量的影響,因?yàn)橥掏铝孔銐蛑?即使在廉價(jià)的單機(jī)服務(wù)器上也可以有10萬(wàn)每秒的消息傳輸量,并且消費(fèi)者是想什么時(shí)候消費(fèi)都可以,消息它就在那里,十分靈活,不用擔(dān)心來(lái)無(wú)影去無(wú)蹤的恐慌.能把消息持久化,并以一定的策略(例如一定時(shí)間內(nèi)刪除,或者到達(dá)多大容量的時(shí)候清空)

  當(dāng)有一下場(chǎng)景的時(shí)候你可以考慮使用KafKa作為消息隊(duì)列

  •  如果你想要穩(wěn)定的消息隊(duì)列
  •  如果你想要你發(fā)送過(guò)的消息可以保留一定的時(shí)間,并不是無(wú)跡可尋的時(shí)候
  •  如果你無(wú)法忍受數(shù)據(jù)的丟失
  •  如果速度不需要那么的快
  •  如果需要處理數(shù)據(jù)量巨大的時(shí)候

后結(jié)

[[325998]]

Redis 是以 key 的 hash 方式來(lái)分散對(duì)列存儲(chǔ)數(shù)據(jù)的,且 Redis 作為集群使用時(shí),對(duì)應(yīng)的應(yīng)用對(duì)應(yīng)一個(gè) Redis,在某種程度上會(huì)造成數(shù)據(jù)的傾斜性,從而導(dǎo)致數(shù)據(jù)的丟失。

而從之前部署 Kafka 集群來(lái)看,kafka 的一個(gè) topic(主題),可以有多個(gè) partition(副本),而且是均勻的分布在 Kafka 集群上,這就不會(huì)出現(xiàn) redis 那樣的數(shù)據(jù)傾斜性。Kafka 同時(shí)也具備 Redis 的冗余機(jī)制,像 Redis 集群如果有一臺(tái)機(jī)器宕掉是很有可能造成數(shù)據(jù)丟失,而 Kafka 因?yàn)槭蔷鶆虻姆植荚诩褐鳈C(jī)上,即使宕掉一臺(tái)機(jī)器,是不會(huì)影響使用。同時(shí) Kafka 作為一個(gè)訂閱消息系統(tǒng),還具備每秒百萬(wàn)級(jí)別的高吞吐量,持久性的、分布式的特點(diǎn)等。


文章題目:你知道Kafka和Redis的各自優(yōu)缺點(diǎn)嗎?一文帶你優(yōu)化選擇
瀏覽路徑:http://www.5511xx.com/article/cohghgo.html