Перенаправление обмена данными с веб-сокета с клиента на сервер на другой сервер с веб-сокетом

У меня уже есть реализация SimpleBrokerWebsocket. Сейчас я перехожу к архитектуре на основе микросервисов и пытаюсь создать обмен сообщениями как отдельный микросервис.

Чтобы не нарушать существующие клиентские развертывания и постепенно переходить к полной архитектуре на основе микросервиса, я хочу, чтобы мои старые конечные точки сокетов перенаправлялись на новые конечные точки сокетов, предоставляемые микросервисом.

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

Также я хотел бы знать, как идти об архитектуре для этого требования. Я хотел бы использовать StompBrokerRelay для микросервиса.

1 ответ

Обычно при развертывании веб-приложений вы запускаете их за обратным прокси-сервером.
В сервис-ориентированной архитектуре это еще более распространено.
NGINX может выполнять обратное проксирование соединений через веб-сокеты.
Таким образом, вы можете запустить свое приложение за NGINX, указывая на исходное приложение, а затем, когда вы будете готовы развернуть свой новый микросервис веб-сокета, вы можете настроить NGINX для передачи всех запросов на этот конкретный URL-адрес веб-сокета вашей новой службе.
Вы также можете попробовать реализовать свой собственный обратный прокси-сервер websocket в Java, используя клиент websocket из обработчика сокетов, но это будет сложно, подвержено ошибкам и медленнее, чем использование специализированного инструмента, такого как NGINX.

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