⭐️ Kafka - что надо знать для работы Системному аналитику ⭐️
Apache Kafka — это распределённая платформа потоковой обработки данных.
Предназначена для публикации, хранения и обработки событий/сообщений в реальном времени.
Основные компоненты:
✔️ Продюсеры (Producers)
1) Генерируют сообщения/события к обработке и отправляют в топики (темы).
2) Определяют, в какую партицию топика записывать данные: автоматически или по заданным правилам.
3) Могут быть чем угодно: микросервисы, устройства IoT и другие приложения.
4) Поддерживают режимы отправки:
+ Синхронный — ждёт подтверждения от Kafka перед отправкой следующего сообщения.
+ Асинхронный — отправляет сообщения без ожидания ответа.
5) Могут гарантировать доставку с разными уровнями подтверждения (acks):
+ acks=0 — без ожидания подтверждения (возможна потеря данных, высокая скорость).
+ acks=1 — подтверждение только от лидера партиции (среднее).
+ acks=all — подтверждение от всех реплик (максимальная надёжность).
✔️ Потребители (Consumers)
1) Подписываются на один или несколько топиков и получают сообщения/события.
2) Могут работать как отдельные клиенты или объединяться в группы (Consumer Groups) для параллельной обработки сообщений.
3) В группе консьюмеров каждый участник обрабатывает свою часть партиций.
4) Kafka гарантирует, что каждое сообщение будет обработано хотя бы одним потребителем в группе.
5) Модели доставки сообщений:
+ at-least-once — как минимум 1 раз, возможны дубликаты.
+ exactly-once — ровно один раз.
✔️ Топики (Topics) — логическая тема, куда продюсеры отправляют сообщения, а потребители их читают
✔️ Партиции (Partitions) — подмножество данных внутри топика, которое позволяет распределять нагрузку и масштабировать обработку сообщений. Каждый топик состоит из одной или нескольких партиций
✔️ Брокер (Broker) — сервер Kafka, который отвечает за хранение, управление и передачу данных внутри кластера
✔️ Кластер — это группа брокеров, работающих вместе для масштабирования и распределённой обработки данных
#АрхитектураGA
Post #2487
6.97K
- ❤ 41
- 👍 22
- 🔥 7
- 😁 3
- 👏 1