Обработка транзакций с Kafka Streams и Spring-Cloud-Stream - PullRequest
1 голос
/ 14 апреля 2019

Я занимаюсь разработкой приложения (на основе микросервисов), опираясь на Kafka и Kafka Streams. Я использую Spring Boot и Spring Cloud Stream для этого, и у меня возникают проблемы с обработкой транзакций для операций Kafka Streams. Я знаю, что нет проблем с обработкой транзакций исключительно с потребителем Kafka, однако, когда я пытаюсь добавить обработку Kafka Streams посередине, мне становится сложно.

Пример кейса:

  1. В одном из моих сервисов запрос на заказ товара из темы А.
  2. Информация о запасах используется из темы B
  3. Эта служба производит обновления инвентаризации для темы B, но также отвечает за публикацию событий, касающихся продуктов, готовых к отправке (в тему C)
  4. При получении запроса на заказ от темы A я хочу проверить (путем обработки темы B), достаточен ли запас для определенного продукта, и опубликовать событие с успехом или неудачей (относительно этого заказа) в теме C.
  5. В то же время мне нужно обновить запас (вычесть количество, скажем, зарезервированное для отгрузки), чтобы в следующем заказе у меня были фактические значения из темы B. Я хочу опубликовать успех в теме C и обновить инвентарь по теме B в течение одной транзакции.

Возможно ли это в весеннем облачном потоке с потоками кафки? И если да, как мне это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...