2014-02-28 2 views
0

응용 프로그램이 웹 서버에서 실행 중인지 여부를 추적해야합니다. 이를 위해 서버에 http 요청을 보내고 응용 프로그램이 실행 중인지 또는 응답을 기반으로 추적 하는지를 추적하는 하나의 Java 응용 프로그램을 작성합니다. 이제 같은 응용 프로그램을 실행하는 3 개의 서버간에로드 균형을 조정하는 부하 분산 장치가 있고 동일한 요청을 보내는 중입니다. 그러면 응용 프로그램이 실행 중인지 여부를 추적 할 수 있도록 응답을 얻는 컴퓨터의 IP를 찾는 방법 그 서버. 내 응용 프로그램은 모든 서버가 실행중인 로컬 네트워크에서 실행됩니다. 잘하면 내 질문에 대해 설명 할 수 있습니다.웹 서버에서 실행중인 응용 프로그램의 상태를 추적하려면

답변

1

검사를 수행하는 코드가 응용 프로그램 서버와 동일한 로컬 네트워크에서 실행되는 경우이 검사를 위해로드 균형 조정기를 전달하고 HTTP 요청을 3 개의 응용 프로그램 서버에 직접 수행하십시오.

보통 당신은 검사의 두 가지 종류가 있습니다. (어떤로드 밸런서 전에, 프록시 등) 현지 생산 네트워크에서 만든

  • 한 수표를
  • 다른 하나는 반드시 실제 사용자를 만들기 위해 인터넷을 만들 수 있습니다 응용 프로그램에 액세스하십시오 : 이것은 종단 간 검사이며, 연결,로드 밸런서 또는 기타 요소가 다운 된 경우 경고 메시지를 표시합니다.

실제 응용 프로그램 서버에 실제로 요청할 수 없다면 일반적으로 가능하지 않을 것입니다. 올바르게 작성 되었다면로드 균형 조정은 일반적으로 http 클라이언트에 대해 완전히 투명합니다. 자세한 내용은 this answer on security stackexchange을 참조하십시오.

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 하지만 내 요구 사항에 따라, 난 내 Java 응용 프로그램을 통해 하나의 URL을 공격해야하고 요청로드 균형 조정기 먼저 보내드립니다. 그럼 나는 대답을 얻을 것이다. 따라서 각 응용 프로그램 서버를 직접 누르는 것보다는로드 밸런서를 통해 요청을 전달하고 싶습니다. 그것은 요구 사항입니다. 이제 응답이 오는 특정 응용 프로그램 서버의 IP를 얻는 방법입니다. – user3363969

+0

하지만 그때 성취하려는 것은 무엇입니까? 응용 프로그램 서버를 모니터링하는 경우로드 균형 조정기를 거치지 않아야하며 요구 사항이 적용되지 않을 수도 있습니다 (너무도 발생합니다). –

+0

요구 사항은 해당 서버의 apache 서버 및 응용 프로그램이 실행 중인지 여부를 확인해야합니다. 나는 고유 한 요청을 받게 될 것이라는 말을 들었고 보고서에서 그 응용 프로그램 서버의 ip를 채워야했습니다. 로드 밸런서 또는 다른 서버에서 코드를 변경하지 않고도 Java 응용 프로그램으로 수행 할 수 있습니까? – user3363969

관련 문제