2017-05-14 15 views
0

웹 소켓을 배우고 있습니다. 내가 한 일은 서버 끝점으로 Tomcat과 websocket 연결을 설정하고 클라이언트 쪽에서는 JavaScript를 사용했습니다. 모든 것이 좋습니다.두 Tomcats 사이에 웹 소켓 통신을 설정하십시오.

클라이언트 엔드 포인트로 다른 Tomcat 컨테이너를 가질 수 있는지 알고 싶습니다. 그렇다면 어떻게 설립 될 수 있습니까? 아니면 가능 같은 클라이언트 엔드 포인트로 서블릿이나 REST 엔드 포인트를 사용하는 것입니다

@webservlet("/sampleservlet") 
@clientendpoint 

또는

@requestmapping("/hello") 
@clientend 
+0

왜 그렇게하고 싶습니까? –

+0

클라이언트 엔드 포인트에서 특정 서비스의 라이브 상태를 확인하려면 – javaworld

답변

0

웹 소켓 프로그래밍 방식으로 하나 개의 웹 서버와 서로 사이에 설정 될 수있다. "서버 수명"문제에 대해 생각해 볼 수있는 두 가지 시나리오가 있습니다.

  1. 모니터링 웹 서버

    는 모니터링 서비스에 웹 소켓 연결을 설정하기 위해 아파치 HTTPComponents 라이브러리 (말) 사용하는 (즉, 모든 클라이언트 요청과 관련이없는) 백그라운드 스레드를 가질 수있다.

  2. 모니터링 웹 서버는 실제로 사용자의 브라우저에서 모니터링되는 서비스로 연결을 터널 할 수 있습니다.

나는 특히 이것들이 (특히 두 번째) 좋은 생각이라고 생각하지 않습니다. 더 나은 아이디어는 생명력 모니터링을하기 위해 일반적인 요청을 사용하는 것입니다. (웹 소켓을 사용하는 경우, 모니터링 된 서비스가 새로운 요청을 받아들이지 않는 등 모니터가 오도 될 위험이 있습니다.)

또 다른 아이디어는 모니터링을 구현하기 위해 JMX 또는 일반 소켓을 사용하는 것입니다.

+0

코드 공유를 원하면 대답은 아니오입니다. –