Подход к бронированию и оплате микросервисов

Я делаю POC на платформе бронирования отелей, и я использую подход микросервисов (Backed Spring Boot с MySQL и внешний интерфейс в Angular) с простым вариантом использования, например

  • Проверить наличие в отеле
  • Забронировать отель
  • Оплата

Разделил код на следующие микросервисы

  • Служба бронирования
  • Платежная служба
  • Служба инвентаризации гостиниц

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

  1. API службы бронирования запускается, и в состоянии В ОЖИДАНИИ создается заказ, а также создается событие типа «Событие, созданное заказом»

  2. Служба инвентаризации гостиниц считывает «Событие, созданное заказом» и далее создает «Событие успеха» (при условии, что инвентарь доступен)

  3. Служба бронирования считывает «Событие успеха» и меняет статус на NEW State, и бронирование считается успешным.

Итак, мой вопрос: как перенаправить пользователя на внешний платежный шлюз, поскольку описанный выше подход основан на событиях?

Есть ли какой-нибудь лучший подход, который мы можем реализовать с этим вариантом использования?

Код-ревью может оказаться лучшим форумом для этого.
soufrk 05.06.2018 12:15

Я просто хочу знать подход, как можно реализовать этот вариант использования с помощью микросервисов.

Kuldeep 06.06.2018 08:02
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
2
136
0

Другие вопросы по теме