Зміст:
Визначення - Що означає Apache Kafka?
Apache Kafka - система повідомлень із відкритим кодом для публікації та підписки, розроблена для забезпечення швидкого, масштабованого та стійкого до відмов обробки каналів даних у режимі реального часу На відміну від традиційного корпоративного програмного забезпечення для обміну повідомленнями, Kafka вміє обробляти всі дані, що надходять через компанію, і робити це в найближчому реальному часі.
Кафка написана в Scala і спочатку була розроблена LinkedIn. З цього часу ряд компаній використовували його для створення платформ у режимі реального часу.
Техопедія пояснює Апаче Кафку
Kafka має багато подібності з журналами транзакцій, і він підтримує канали повідомлень у темах. Виробники записують дані в теми, а споживачі читають з цих тем, які розділяються та реплікуються через кілька вузлів у розподіленому системному форматі. Kafka унікальна тим, що розглядає кожен розділ теми як журнал, а кожному повідомленню в розділі призначається унікальне зміщення. Він зберігає всі повідомлення протягом певного часу, а споживачі відповідають за відстеження їх місцезнаходження у кожному журналі. Це відрізняється від попередніх систем, коли брокери відповідали за це відстеження, що суттєво обмежувало можливість системи масштабуватись із збільшенням кількості споживачів. Ця структура дозволяє Kafka підтримувати багатьох споживачів і зберігати велику кількість даних з дуже низькими витратами.
Кафку можна використовувати:
- Як традиційний брокер повідомлень
- Для відстеження активності веб-сайту
- Для агрегації журналів
- Для обробки великих потоків даних
Kafka можна використовувати поряд з Apache Storm, Apache HBase та Apache Spark для аналізу в режимі реального часу та надання потокових даних.