> Для чего нужен брокер сообщений 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, а сервисы уведомлений, аналитики и инвентаризации независимо читают это событие.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью