Установить связь через веб-сокет между двумя Tomcats

Я изучаю веб-сокеты. Я установил соединение через веб-сокет с Tomcat в качестве конечной точки сервера, а на стороне клиента я использовал JavaScript. Все отлично.

То, что я хочу знать, возможно ли иметь другой контейнер Tomcat в качестве конечной точки клиента? Если так, как это может быть установлено? Или можно использовать сервлет или конечную точку REST в качестве клиентской конечной точки, например:

@webservlet("/sampleservlet")
@clientendpoint

или же

@requestmapping("/hello")
@clientend

1 ответ

Решение

Веб-сокет может быть программно установлен между одним веб-сервером и другим. Есть два сценария, которые я могу придумать для вашей проблемы "живучести сервера".

  1. Веб-сервер мониторинга может иметь фоновый поток (т. Е. Не связанный с каким-либо клиентским запросом), который использует (скажем) библиотеки Apache HTTPComponents для установления соединения веб-сокета с отслеживаемой службой.

  2. Мониторинг веб-сервера может фактически туннелировать соединение между браузером пользователя и отслеживаемой службой.

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

Другой идеей было бы использовать JMX или простые сокеты для реализации мониторинга.

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