> Для чего нужен брокер сообщений Kafka (Go)
Уровень: senior · Роль: backend · Язык: Go · Категория: Технические вопросы
Компании: Wildberries
Стек: Go
> Пример ответа
Apache Kafka - это распределённая платформа для потоковой передачи событий. В Go-проектах её основная задача - служить высокопроизводительным, отказоустойчивым буфером между микросервисами. Вместо того чтобы отправлять HTTP-запросы напрямую от сервиса A к сервису B (что создаёт жёсткую связь и проблемы при пиковых нагрузках), сервис A публикует сообщение в топик Kafka. Сервис B, подписанный на этот топик, асинхронно читает сообщения в своём темпе. Это даёт: слабую связанность, масштабируемость (можно добавить больше потребителей для параллельной обработки), гарантии доставки (сообщения хранятся на диске и реплицируются) и возможность воспроизводить события заново (reset offset). В Go для работы с Kafka чаще всего используют библиотеку confluent-kafka-go (обёртка над librdkafka) или segmentio/kafka-go (чистый Go). Например, при обработке заказов: сервис заказов пишет событие OrderCreated в Kafka, а сервисы уведомлений, аналитики и инвентаризации независимо читают это событие.
> Похожие задачи по Go
В чем разница между фабрикой и обычным конструктором
Какие группы паттернов проектирования существуют
Как избежать гонок и рейсов в базе данных
Сколько букв нужно для поиска в индексе
> Похожие задачи по backend
В чем разница между фабрикой и обычным конструктором
Какие группы паттернов проектирования существуют
Как избежать гонок и рейсов в базе данных
Сколько букв нужно для поиска в индексе
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью