Апацхе Кафка

Водич за Апаче Кафку

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

Апацхе Кафка

За дефиницију на високом нивоу, представимо кратку дефиницију за Апацхе Кафка:

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

То су биле неке речи на високом нивоу о Апачу Кафки. Хајде да овде детаљно разумемо концепте.

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

Кафка је скалабилан јер су потрошачи ти који заправо чувају оно што су они преузимали као вредност „померања“. Погледајмо слику како бисмо ово боље разумели:

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

Први кораци са Апацхеом Кафком

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

Обавезно имајте активну Кафка инсталацију ако желите да испробате примере које ћемо представити касније у лекцији.

Како то функционише?

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

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


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

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


Поново, Кафка Брокер не води евиденцију о томе који је потрошач потрошио колико пакета података. То је одговорност потрошача да води евиденцију о подацима које је потрошила.

Постојаност на диску

Кафка наставља записе порука које добија од произвођача на диску и не чува их у меморији. Питање које би се могло појавити је како ово чини ствари изводљивим и брзим? Иза овога је било неколико разлога који га чине оптималним начином управљања записима порука:

Дистрибуција и репликација података

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

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

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

Шта је Зоокеепер?

Зоокеепер је дистрибуирана продавница кључева и вредности изузетно отпорна на грешке. Апацхе Кафка у великој мери зависи од Зоокеепер-а да складишти механику кластера попут откуцаја срца, дистрибуције исправки / конфигурација итд.).

Омогућава Кафка брокерима да се претплате и знају кад год се догоди било каква промена у вези са вођом партиције и дистрибуцијом чворова.

Апликације произвођача и потрошача директно комуницирају са Зоокеепер-ом апликација да зна који је чвор вођа партиције за тему како би могли да изврше читање и писање са вође партиције.

Стреаминг

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

Потпуно је могуће извршити једноставну обраду директно користећи АПИ-ове произвођача / потрошача, иако за сложену обраду, као што је комбиновање токова, Кафка нуди интегрисану библиотеку Стреамс АПИ, али имајте на уму да је овај АПИ намењен за употребу у нашој сопственој бази кода и да то није ' не ради на брокеру. Ради слично потрошачком АПИ-ју и помаже нам да проширимо рад обраде тока у више апликација.

Када користити Апацхе Кафка?

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

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

Скалабилна и дистрибуирана архитектура Кафке чини интеграцију са микросервисима врло једноставном и омогућава апликацији да се раздвоји са пуно пословне логике.

Креирање нове теме

Можемо направити тест тему тестирање на Апацхе Кафка серверу следећом командом:

Стварање теме

судо кафка-теме.сх --цреате --зоокеепер лоцалхост: 2181 - фактор репликације 1
--партиције 1 - тестирање теме

Ево шта добијамо овом командом:

Направите нову Кафка тему


Створиће се тема тестирања коју можемо потврдити поменутом командом:

Потврда стварања теме Кафка

Писање порука на тему

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

Писање поруке у тему

судо кафка-произвођач конзола.сх --брокер-лист лоцалхост: 9092 - тестирање тема

Погледајмо излаз за ову наредбу:

Објави поруку Кафки Топиц


Једном када притиснемо тастер, видећемо нову стрелицу (>) што значи да сада можемо уносити податке:

Куцање поруке


Само откуцајте нешто и притисните да бисте започели нови ред. Откуцао сам 3 реда текста:

Читање порука из теме

Сад кад смо објавили поруку о Кафка теми коју смо креирали, ова порука ће бити тамо неко време које се може конфигурисати. Сад то можемо прочитати помоћу Потрошачки АПИ:

Читање порука из теме

судо кафка-конзола-потрошач.сх --зоокеепер лоцалхост: 2181 --
тестирање теме - од почетка

Ево шта добијамо овом командом:

Команда за читање поруке Кафке Топића


Моћи ћемо да видимо поруке или редове које смо написали помоћу АПИ-ја произвођача, као што је приказано доле:

Ако напишемо још једну нову поруку помоћу АПИ-ја произвођача, она ће се такође одмах приказати на страни потрошача:

Објавите и потрошите истовремено

Закључак

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

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