System Design middle
Что такое Сервис бронирования отелей?
Ответ
Поиск с динамическими ценами. Outbox-паттерн для финансовых операций. Идемпотентность платежей. Партнёрские интеграции через API Gateway.
Разбор: Для финансовых операций ключевыми являются Outbox-паттерн (надёжная доставка событий через таблицу в той же транзакции, что и бизнес-данные) и идемпотентность платежей (защита от повторов). Прямая публикация в Kafka внутри транзакции БД ненадёжна: коммит может пройти, а отправка — упасть. 2PC плохо масштабируется и не отменяет необходимости идемпотентности, а синхронный платёж в одной транзакции с бронью связывает внешний шлюз с локальной БД.
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.