AddLineAndPlaceOrder: атомарно записать заказ и уведомить брокер
Дана gRPC-ручка AddLineAndPlaceOrder: добавляет позицию и переводит корзину в оформленный заказ. Есть готовый репозиторный слой (Load, Save корзины), который трогать нельзя. В оформленную корзину (статус placed) вносить изменения нельзя, позиции уникальны по SKU. При оформлении нужно выставить статус placed, сохранить корзину и отправить сообщение в брокер, причём обе операции должны выполниться обе или ни одной; обычные ретраи не спасают, если в этот момент недоступна Kafka. Как обеспечить такую гарантию, не меняя репозиторный слой?
Порядок, которого ждут: уточни требования → оцени нагрузку → API и данные → схема компонентов → узкие места и отказ. Не прыгай сразу в Kafka.
⌘ Enter — проверить