Апацхе Кафка

РаббитМК вс Апацхе Кафка

РаббитМК вс Апацхе Кафка
У овом посту ћемо покушати да упоредимо и утврдимо неке разлике у два најпопуларнија посредника порука, РаббитМК и Апацхе Кафка.

Кад год желимо да интегришемо посреднике порука у нашу апликацију која нам омогућава лако прилагођавање и асинхрони начин повезивања нашег система, постоји много посредника порука који могу да направе списак са кога сте створени, на пример:

Сваки од ових посредника порука има своју листу предности и недостатака, али најизазовније опције су прве две, РаббитМК и Апацхе Кафка. У овој лекцији ћемо навести низ тачака које могу помоћи у сужавању одлуке да се иде једно с другим. На крају, вреди истаћи да ниједно од ових није боље од другог у свим случајевима коришћења и у потпуности зависи од тога шта желите да постигнете, па нема једног тачног одговора!

Почећемо са једноставним увођењем ових алата.

Апацхе Кафка

Као што смо рекли у овој лекцији, Апацхе Кафка је дистрибуирани дневник погрешака, толерантан на кварове, хоризонтално скалирајући. То значи да Кафка може врло добро да изврши термин поделе и владавине, може да реплицира ваше податке како би осигурао доступност и изузетно је скалабилан у смислу да у време извођења можете да укључите нове сервере да бисте повећали свој капацитет за управљање већим бројем порука.

Кафка произвођач и потрошач

РаббитМК

РаббитМК је посредник за поруке опште намене и једноставнији за употребу, који сам води евиденцију о томе које је поруке клијент конзумирао и истрајава у оном другом. Чак и ако из неког разлога РаббитМК сервер падне, можете бити сигурни да су поруке тренутно присутне у редовима сачуване у датотечном систему, тако да када се РаббитМК поново врати, потрошачи могу те поруке обрађивати на доследан начин.

РаббитМК ради

Суперсила: Апач Кафка

Главна Кафкина велесила је да се може користити као систем редова, али то није оно на шта је ограничено. Кафка је нешто више попут кружни бафер који се може прилагодити диску на машини на кластеру и тако нам омогућава поновно читање порука. То може учинити клијент, а да не мора зависити од Кафка кластера, јер је у потпуности клијентова одговорност да забележи метаподатке поруке које тренутно чита, а касније може поново да посети Кафку да би прочитао исту поруку.

Имајте на уму да је време у којем се ова порука може поново прочитати ограничено и може се конфигурисати у Кафка конфигурацији. Дакле, кад се то време заврши, нема шансе да клијент икада више прочита старију поруку.

Суперсила: РаббитМК

Главна суперсила РаббитМК-а је та што је једноставно скалабилан, високо ефикасан систем чекања који има врло добро дефинисана правила о доследности и способност стварања многих врста модела размене порука. На пример, постоје три врсте размене које можете створити у РаббитМК:

  1. Директна размена: Једна до једна размена тема
  2. Размена тема: А тему је дефинисано на којем различити произвођачи могу да објаве поруку, а различити потрошачи се обавежу да слушају ту тему, па сваки од њих прима поруку која је послата на ову тему.
  3. Размена обожавалаца: Ово је строже од размене тема, јер када се порука објави на размени вентилатора, сви потрошачи који су повезани у редове који се везују за размену размена примиће поруку.

Већ сам приметио разлику између РаббитМК и Кафке? Разлика је у томе што ако потрошач није повезан са разменом обожавања у РаббитМК када је порука објављена, она ће бити изгубљена јер су је други корисници потрошили, али то се не дешава у Апацхе Кафки јер било који потрошач може прочитати било коју поруку као што одржавају сопствени курсор.

РаббитМК је усмерен на брокера

Добар брокер је неко ко гарантује рад који преузима на себе и у томе је РаббитМК добар. Нагнут је према гаранције испоруке између произвођача и потрошача, са привременим приоритетом у односу на трајне поруке.

РаббитМК користи самог брокера за управљање стањем поруке и осигуравајући да се свака порука испоручи сваком потрошачу с правом.

РаббитМК претпоставља да су потрошачи углавном на мрежи.

Кафка је усредсређен на произвођача

Апацхе Кафка је фокусиран на произвођача јер се у потпуности заснива на партиционирању и току пакета догађаја који садрже податке и трансформишући их у трајне посреднике порука са курсорима, подржавајући серијске потрошаче који могу бити ван мреже или мрежне потрошаче који желе поруке са малим кашњењем.

Кафка осигурава да порука остане сигурна до одређеног временског периода реплицирањем поруке на својим чворовима у кластеру и одржавањем доследног стања.

Дакле, Кафка нема претпоставити да је било који од његових потрошача углавном на мрежи и да га није брига.

Поручивање порука

Уз РаббитМК, ред издаваштва управља доследно а потрошачи ће поруку примити у самом објављеном редоследу. С друге стране, Кафка то не чини јер претпоставља да су објављене поруке тешке природе, тако да су потрошачи спори и могу слати поруке било којим редоследом, па тако ни сам не управља поруџбином. Иако можемо поставити сличну топологију за управљање редоследом у Кафки користећи доследна размена хеша или додатак за шарењење., или још више врста топологија.

Комплетни задатак којим управља Апацхе Кафка је да делује као „амортизер“ између континуираног тока догађаја и потрошача од којих су неки на мрежи, а други могу бити ван мреже - конзумирање само серије на сату или чак свакодневно.

Закључак

У овој лекцији смо проучавали главне разлике (и сличности такође) између Апацхе Кафке и РаббитМК-а. У неким окружењима обе су показале изванредне перформансе, као што РаббитМК троши милионе порука у секунди, а Кафка неколико милиона порука у секунди. Главна архитектонска разлика је у томе што РаббитМК управља својим порукама готово у меморији и тако користи велики кластер (више од 30 чворова), док Кафка заправо користи моћи секвенцијалних И / О операција диска и захтева мање хардвера.

Опет, употреба сваког од њих и даље у потпуности зависи од случаја употребе у апликацији. Срећне поруке !

Како променити показивач миша и величину, боју и шему курсора на Виндовс 10
Показивач миша и курсор у оперативном систему Виндовс 10 су врло важни аспекти оперативног система. То се може рећи и за друге оперативне системе, так...
Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...
Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...