Soft hold временно уменьшает доступность по правилам резерва, но финальное подтверждение должно атомарно проверить остаток и действительность удержания. Просроченный резерв нельзя считать гарантией.
Как был организован мягкий резерв остатков (soft hold) с финальной сверкой при подтверждении брони?
Soft hold временно уменьшает доступность по правилам резерва, но финальное подтверждение должно атомарно проверить остаток и действительность удержания. Просроченный резерв нельзя считать гарантией.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Soft hold временно уменьшает доступность по правилам резерва, но финальное подтверждение должно атомарно проверить остаток и действительность удержания. Просроченный резерв нельзя считать гарантией.
Резерв хранит владельца, количество, статус и expires_at. Подтверждение и освобождение координируются транзакцией или условным переходом версии, чтобы не подтвердить и не освободить одно удержание одновременно.
Нужны идемпотентные команды и восстановление после частичной оплаты. Если soft hold лишь рекомендательный, интерфейс должен честно сообщать о возможности отказа при окончательной проверке.