Как сайты электронной коммерции, такие как Amazon, Flipkart, Alibaba и т. Д. Обрабатывают обработку заказов и платежей в режиме реального времени. Они обрабатывают синхронно или асинхронно? Как пользователь, кажется, что все происходит синхронно. Но большинство примеров микросервисов, которые я видел до сих пор, используют шину событий (управляемый событиями дизайн) для связи между микросервисами.
Не могли бы вы объяснить, как в реальных условиях поток обрабатывается с помощью микросервисов.
- Оплата (удержание суммы из учетной записи пользователя) -> 2. Блокировка запасов для товаров, присутствующих в корзине -> 3. Отправка письма с подтверждением.
Для меня шаги 1 и 2 - это одна транзакция. Если это синхронный поток, мы легко справимся. Но в случае шины событий, как справиться с этим, потому что я считаю, что между публикацией событий и их использованием будет небольшая задержка. Позже мы сообщаем пользователю, что проверка вашего платежа не удалась или товар недоступен и т.д.?
Заранее спасибо.