Перенаправление обмена данными с веб-сокета с клиента на сервер на другой сервер с веб-сокетом
У меня уже есть реализация SimpleBrokerWebsocket. Сейчас я перехожу к архитектуре на основе микросервисов и пытаюсь создать обмен сообщениями как отдельный микросервис.
Чтобы не нарушать существующие клиентские развертывания и постепенно переходить к полной архитектуре на основе микросервиса, я хочу, чтобы мои старые конечные точки сокетов перенаправлялись на новые конечные точки сокетов, предоставляемые микросервисом.
Так что мне нужно некоторое представление о том, как бороться с аутентификацией и отправкой сообщений для правильных пользователей.
Также я хотел бы знать, как идти об архитектуре для этого требования. Я хотел бы использовать StompBrokerRelay для микросервиса.
1 ответ
Обычно при развертывании веб-приложений вы запускаете их за обратным прокси-сервером.
В сервис-ориентированной архитектуре это еще более распространено.
NGINX может выполнять обратное проксирование соединений через веб-сокеты.
Таким образом, вы можете запустить свое приложение за NGINX, указывая на исходное приложение, а затем, когда вы будете готовы развернуть свой новый микросервис веб-сокета, вы можете настроить NGINX для передачи всех запросов на этот конкретный URL-адрес веб-сокета вашей новой службе.
Вы также можете попробовать реализовать свой собственный обратный прокси-сервер websocket в Java, используя клиент websocket из обработчика сокетов, но это будет сложно, подвержено ошибкам и медленнее, чем использование специализированного инструмента, такого как NGINX.