Апацхе Кафка

Шта је Апацхе Кафка и како то функционише?

Шта је Апацхе Кафка и како то функционише?

У овој лекцији ћемо видети шта је Апацхе Кафка и како то функционише заједно са неким најчешћим случајевима употребе.  Апацхе Кафка је првобитно развијен у ЛинкедИн-у 2010. године, а 2012. прешао је у врхунски Апацхе-ов пројекат. Има три главне компоненте:

У наредним одељцима проучићемо много више Кафкиних концепата. Идемо напред.

Апацхе Кафка Цонцептс

Пре него што дубље копамо, морамо бити темељни у вези са неким концептима у Апацхе Кафки. Ево термина које бисмо требали врло кратко знати:

Тематске партиције

Концепт теме, партиција теме и офсета такође се може јасно објаснити илустративном сликом:

Парција теме и компензација потрошача у Апацхе Кафки

Апацхе Кафка као систем за размену порука „Објави и претплати се“

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

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

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

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

Инсталација

Да бисте почели да користите Апацхе Кафка, он мора бити инсталиран на машини. Да бисте то урадили, прочитајте Инсталирање Апацхе Кафке на Убунту-у.

Случај употребе: Праћење употребе веб страница

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

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

  1. Корисник се региструје на веб локацији и улази на контролну таблу. Корисник покушава одмах да приступи функцији интеракцијом са дугметом.
  2. Веб апликација израђује поруку са овим метаподацима за партицију теме „клик“.
  3. Порука се додаје евиденцији урезивања и повећава се помак
  4. Потрошач сада може повући поруку Кафка Брокера и приказати употребу веб странице у реалном времену и приказати прошле податке ако ресетује свој помак на могућу прошлу вредност

Случај употребе: Ред порука

Апацхе Кафка је одличан алат који може да делује као замена за алате за посредовање порука попут РаббитМК. Асинхроне поруке помажу у раздвајању апликација и креирају високо скалабилан систем.

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

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

Коришћење Кафке на ЛинкедИну

Занимљиво је приметити да је Апацхе Кафка раније виђен и коришћен као начин на који цевоводи података могу бити усклађени и путем којих се подаци уносе у Хадооп. Кафка је одлично радио када је било присутно више извора података и одредишта, а обезбеђивање одвојеног процеса цевовода за сваку комбинацију извора и одредишта није било могуће. ЛинкедИн-ов архитект Кафка, Јаи Крепс, овај познати проблем добро описује у блогу:

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

Апацхе Кафка и Флуме

Ако се померите да бисте упоредили ово двоје на основу њихових функција, наћи ћете пуно заједничких карактеристика. Овде су неки од њих:

Закључак

У овој лекцији смо погледали многе концепте о Апачу Кафки. Прочитајте више постова заснованих на Кафки овде.

Најбољи емулатори играће конзоле за Линук
Овај чланак ће навести популарни софтвер за емулацију играће конзоле доступан за Линук. Емулација је слој компатибилности софтвера који опонаша хардве...
Најбољи Линук Дистрос за игре у 2021
Линук оперативни систем далеко је превалио свој изворни, једноставни изглед заснован на серверима. Овај ОС се изузетно побољшао последњих година и сад...
Како снимити и стримовати своју играћу сесију на Линук-у
У прошлости се играње игара сматрало само хобијем, али с временом је играчка индустрија забележила огроман раст у погледу технологије и броја играча. ...