Sadržaj:
Definicija - Što znači Apache Kafka?
Apache Kafka je sustav s porukama otvorenog koda za objavljivanje i pretplatu dizajniran za pružanje brzog, skalabilnog i otpornog na greške u rukovanju feedovima podataka u stvarnom vremenu. Za razliku od tradicionalnog poslovnog softvera za razmjenu poruka, Kafka je u stanju obraditi sve podatke koji prolaze kroz tvrtku i to učiniti u skoro stvarnom vremenu.
Kafka je napisana u Scali, a izvorno ju je razvio LinkedIn. Od tada ga je niz tvrtki koristio za izgradnju platformi u stvarnom vremenu.
Tehopedija objašnjava Apache Kafka
Kafka ima mnogo sličnosti s zapisnicima transakcija, a održava feedove poruka u temama. Proizvođači pišu podatke u teme, a potrošači čitaju iz tih tema, koji su podijeljeni i replicirani kroz više čvorova u formatu distribuiranog sustava. Kafka je jedinstvena po tome što svaku particiju teme tretira kao zapisnik, a svakoj poruci na particiji dodijeljen je jedinstveni offset. Sve poruke zadržavaju određeno vrijeme, a potrošači su odgovorni za praćenje njihove lokacije u svakom zapisniku. To se razlikuje od prethodnih sustava u kojima su posrednici bili odgovorni za ovo praćenje, što je ozbiljno ograničilo sposobnost sustava da se skalira kako se povećavao broj potrošača. Ova struktura omogućuje Kafki da podrži mnoge potrošače i zadrži velike količine podataka s vrlo malim troškovima.
Kafka se može koristiti:
- Kao tradicionalni posrednik za poruke
- Za praćenje aktivnosti web mjesta
- Za agregiranje zapisnika
- Za veliku obradu protoka podataka
Kafka se može koristiti zajedno s Apache Storm, Apache HBase i Apache Spark za analizu u stvarnom vremenu i prikazivanje streaming podataka.