В настоящее время я пишу веб-приложение, в котором есть множество микросервисов.В настоящее время я изучаю, как правильно установить связь между всеми этими службами, и я решил использовать шину сообщений или, в частности, Apache Kafka.
Тем не менее, у меня есть несколько вопросов, которые я не знаю, как концептуально обойти.Я использую API Gateway-сервис в качестве основного входа в приложение.Он действует в качестве основного прокси для пересылки операций на соответствующие микросервисы.Рассмотрим следующий сценарий:
- Пользователь отправляет POST-запрос к шлюзу API с некоторой информацией.
- Шлюз создает новое сообщение и публикует его в теме Кафки.
- Подписанные микросервисы получают сообщение в теме и обрабатывают данные.
Итак, как мне теперь ответить клиенту со шлюза?Что если мне понадобятся данные из этого микросервиса?Похоже, что HTTP-запрос может истечь.Стоит ли вместо этого придерживаться веб-сокетов между клиентом и шлюзом API?
А также, если клиент отправляет запрос GET для получения некоторых данных, как я должен подходить к этому, используя Kafka?
Благодарю.