logo

Кафка Топицс

У претходном одељку дали смо кратак увод о Апацхе Кафки, систему за размену порука, као и процесу стримовања. Овде ћемо разговарати о основним концептима и улози Кафке.

Теме

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

Партиције

Тема је подељена на неколико делова који су познати као партиције теме. Ове партиције су раздвојене по редоследу. Садржај података се чува у партицијама унутар теме. Стога, приликом креирања теме, потребно је да наведемо број партиција (број је произвољан и може се касније променити). Свака порука се чува у партицијама са инкременталним ИД-ом познатим као њена вредност померања. Наредба о вредност помака је загарантовано само унутар партиције, а не преко партиције. Одступања за партицију су бесконачна.

Белешка:Подаци једном уписани на партицију се никада не могу променити. Оно је непроменљиво. Вредност помака увек остаје у инкременталном стању, никада се не враћа на празан простор. Такође, подаци се чувају на партицији само ограничено време.

Хајде да видимо пример да разумемо тему са њеним партицијама.

Кафка Топицс

Претпоставимо, тема која садржи три партиције 0,1 и 2. Свака партиција има различите бројеве помака. Подаци се дистрибуирају између сваког офсета у свакој партицији где подаци у офсету 1 Партиције 0 немају никакву везу са подацима у офсету 1 Партиције 1. Али, подаци у офсету 1 Партиције 0 су међусобно повезани са подацима садржаним у офсету 2 Партиције 0.

Брокери

Овде долази улога Апача Кафке.

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

Кафка Топицс

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

Пример: Брокери и теме

Претпоставимо, Кафка кластер који се састоји од три брокера, наиме Брокер 1, Брокер 2 и Брокер 3.

Кафка Топицс

Сваки брокер држи тему, односно Топиц-к са три партиције 0,1 и 2. Запамтите, све партиције не припадају само једном брокеру, увек се дистрибуирају између сваког брокера (зависи од количине). Брокер 1 и Брокер 2 садрже још једну тему-и која има две партиције 0 и 1. Дакле, Брокер 3 не садржи никакве податке из Теме-и. Такође се закључује да никада не постоји никаква веза између броја брокера и броја партиције.