Зачем нужен Postgres, если вы отправляете события в Kafka? Как клиент получает результат?

Kafka доставляет и хранит поток событий, а Postgres может быть источником текущего состояния, транзакций и запросов клиента. Эти роли не взаимоисключающие.

Короткий ответ

Что ответить на собеседовании

Kafka доставляет и хранит поток событий, а Postgres может быть источником текущего состояния, транзакций и запросов клиента. Эти роли не взаимоисключающие.

Подробный разбор

Ответ с пояснениями

Kafka доставляет и хранит поток событий, а Postgres может быть источником текущего состояния, транзакций и запросов клиента. Эти роли не взаимоисключающие.

Типовой flow: HTTP-запрос создаёт операцию и outbox в одной DB-транзакции, возвращает operation-id; worker обрабатывает событие и обновляет статус. Клиент читает результат через GET статуса, SSE/WebSocket или получает webhook по договорённости. Kafka offset не заменяет удобную бизнес-модель поиска заказа/платежа. Для короткой операции допустим синхронный ответ, но нельзя ждать бесконечно. Нужны идемпотентность, статус ошибки и понятный срок ожидания.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее