Spisu treści:
Definicja - Co oznacza Apache Kafka?
Apache Kafka to system komunikatów typu „publikuj i subskrybuj” o otwartym kodzie, zaprojektowany w celu zapewnienia szybkiej, skalowalnej i odpornej na błędy obsługi danych w czasie rzeczywistym. W przeciwieństwie do tradycyjnego oprogramowania do przesyłania wiadomości w przedsiębiorstwie, Kafka jest w stanie obsłużyć wszystkie dane przepływające przez firmę i zrobić to w czasie prawie rzeczywistym.
Kafka jest napisany w Scali i został pierwotnie opracowany przez LinkedIn. Od tego czasu wiele firm używało go do budowy platform w czasie rzeczywistym.
Techopedia wyjaśnia Apache Kafka
Kafka ma wiele podobieństw do dzienników transakcji i utrzymuje kanały wiadomości w tematach. Producenci zapisują dane w tematach, a konsumenci czytają te tematy, które są podzielone na partycje i replikowane w wielu węzłach w formacie systemu rozproszonego. Kafka jest wyjątkowy, ponieważ traktuje każdą partycję tematyczną jako dziennik, a każdej wiadomości w partycji przypisany jest unikalny offset. Przechowuje wszystkie wiadomości przez określony czas, a konsumenci są odpowiedzialni za śledzenie ich lokalizacji w każdym dzienniku. Różni się to od poprzednich systemów, w których brokerzy byli odpowiedzialni za śledzenie, co poważnie ograniczyło zdolność systemu do skalowania wraz ze wzrostem liczby konsumentów. Ta struktura pozwala Kafce obsługiwać wielu konsumentów i zatrzymywać duże ilości danych przy bardzo niskim obciążeniu.
Kafka może być używana:
- Jako tradycyjny broker wiadomości
- Do śledzenia aktywności na stronie
- Do agregacji logów
- Do przetwarzania strumienia dużych danych
Kafka może być używany razem z Apache Storm, Apache HBase i Apache Spark do analizy i renderowania danych w czasie rzeczywistym.
