На странице собраны вопросы по Kafka — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: kafka, backend, api.
Apache Kafka — это распределённая платформа потоковой передачи данных, используемая для построения систем обмена сообщениями с высокой пропускной способностью и низкой задержкой.
Go: Уверенное владение языком, опыт написания многопоточных приложений с использованием goroutines и каналов, понимание интерфейсов и паттернов проектирования.
Если сервис падает в момент сбора батча для записи, возможна потеря данных, если не реализована надёжная обработка ошибок и сохранение состояния. Чтобы минимизировать риски, обычно применяют следующие подходы:
Если потребуется отказаться от Kafka и заменить её на другой брокер сообщений, важно минимизировать влияние на внешние сервисы. Для этого Kafka нужно изолировать через слой абстракции:
Redis часто используют для дедупликации сообщений в Kafka, чтобы избежать повторной обработки одних и тех же событий. Kafka гарантирует доставку "как минимум один раз", поэтому дубликаты могут появляться.
В фронтенд-разработке чаще всего используются брокеры сообщений, интегрированные через WebSocket или специализированные сервисы для реального времени. Например, я работал с такими брокерами, как: