Установить связь через веб-сокет между двумя Tomcats
Я изучаю веб-сокеты. Я установил соединение через веб-сокет с Tomcat в качестве конечной точки сервера, а на стороне клиента я использовал JavaScript. Все отлично.
То, что я хочу знать, возможно ли иметь другой контейнер Tomcat в качестве конечной точки клиента? Если так, как это может быть установлено? Или можно использовать сервлет или конечную точку REST в качестве клиентской конечной точки, например:
@webservlet("/sampleservlet")
@clientendpoint
или же
@requestmapping("/hello")
@clientend
1 ответ
Веб-сокет может быть программно установлен между одним веб-сервером и другим. Есть два сценария, которые я могу придумать для вашей проблемы "живучести сервера".
Веб-сервер мониторинга может иметь фоновый поток (т. Е. Не связанный с каким-либо клиентским запросом), который использует (скажем) библиотеки Apache HTTPComponents для установления соединения веб-сокета с отслеживаемой службой.
Мониторинг веб-сервера может фактически туннелировать соединение между браузером пользователя и отслеживаемой службой.
Я не думаю, что это особенно хорошие идеи (особенно вторая). Лучше было бы использовать обычные запросы для мониторинга жизнеспособности. (Если вы используете веб-сокеты, существует риск, что ваш мониторинг будет вводить в заблуждение; например, если отслеживаемая служба перестанет принимать новые запросы.)
Другой идеей было бы использовать JMX или простые сокеты для реализации мониторинга.