Если вы используете Spring MVC, как перейти от дизайна запроса-ответа к архитектуре публикации-подписки? - PullRequest
1 голос
/ 09 апреля 2019

Мой вопрос возник из-за того, что я прочитал некоторые онлайн-ресурсы, в которых утверждалось, что Event-Driven Architecture кажется лучше, чем использование REST. https://solace.com/blog/experience-awesomeness-event-driven-microservices/

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

когда каждая служба использует Rest-API для связи, тогда структура выглядит следующим образом:

Представление HTML -> Контроллер MVC -> Запрос отправки контроллера Служба A -> Служба Ответ возврата контроллера -> Представление HTML

но если я попытался реализовать публикацию-подписку (я использую Spring Cloud Stream и Kafka), я не понимаю, как мой «правильный» пользователь может получить ответ. потому что я думаю, когда есть 2 разных пользователя:

my diagram to show my problem

Пожалуйста, смотрите изображение, я не уверен, как, после того как мой контроллер получит сообщение из темы, может маршрутизировать к нужному пользователю. Я пытался использовать «группу потребителей», но, похоже, это не решение, потому что оно может указывать только, какой «экземпляр службы» обрабатывает сообщение, но здесь мое MVC-приложение является экземпляром службы, но с другими подключениями (другой пользователь)

Я старался изо всех сил, чтобы объяснить мою проблему, я не очень хорошо говорю по-английски, пожалуйста, дайте мне знать, если вам нужно, чтобы я выразил больше.

...