2012-08-22 2 views
0

glassfish 3.1.1과 iPlanet Web Server에서 두 인스턴스를 사용하여 클러스터를로드 밸런서 (동일한 시스템에 있음)로 구성했습니다. glassfish와 함께 제공되는 테스트 응용 프로그램의 경우 모든 것이 정상적으로 작동합니다 (이 응용 프로그램에서는 세션 복제가 활성화되어 있습니다).글래스 피시로드 밸런서 작동 원리

그러나 내 자신의 응용 프로그램을 만들려고 할 때 다음과 같은 상황이 발생합니다. 특정 인스턴스 (즉 28080 및 28081)의 포트에서 요청을 보내면 응답하지만 부하 분산 장치를 통해 요청을 보내려고하면 포트 81) 오류 404가 발생합니다. 응용 프로그램에서 아직 세션 복제를 사용할 수 없지만 연결을 만들고 각 인스턴스에 대해 두 개의 다른 세션을 만들 수 있습니다. 로드 밸런서와 비슷한 효과를 얻고 싶습니다.

그래서 결정하기 위해 싶습니다

  1. 강하게 균형이 잘 작동로드하는 데 필요한 세션 복제인가?
  2. 누구든지이 오류의 다른 이유를 알고 있습니까? 플래 넷 로그에서

메시지 :

[23/Aug/2012:05:44:16] failure (4120) myHost: for host 127.0.0.1 trying to GET /myApp/login.jsp, service-j2ee reports: PWC6117: File "c:/webserver7/https-myHost/docs/myApp/login.jsp" not found 

추가 결론 :

(81 - 플래 넷에 HTTP 리스너 포트)

내가 보내 GET http://localhost:81/testApp 다음로드 밸런서는 글래스 피시에 전달하고 올바른 사이트를 반환합니다. 나는 내 테스트 응용 프로그램과 같은 시도 할 때, GET http://localhost:81/myApp는 플래 넷 (위 로그에서와 같이 문서 디렉토리) 여기서 myHost-의 obj.conf의

단편 자신의 자원이 사이트를 검색 :

<Object name="default"> 
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true" 
NameTrans fn="name-trans-passthrough" name="lbplugin" config-file="C:/WebServer7/https-myHost/config/loadbalancer.xml" 
NameTrans fn="assign-name" name="perf" from="/.perf" 
NameTrans fn="ntrans-j2ee" name="j2ee" 
NameTrans fn="pfx2dir" from="/mc-icons" dir="C:/WebServer7/lib/icons" name="es-internal" 
PathCheck fn="uri-clean" 
PathCheck fn="check-acl" acl="default" 
PathCheck fn="find-pathinfo" 
PathCheck fn="find-index-j2ee" 
PathCheck fn="find-index" index-names="index.html,home.html,index.jsp" 
ObjectType fn="type-j2ee" 
ObjectType fn="type-by-extension" 
ObjectType fn="force-type" type="text/plain" 
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common" 
Service method="(GET|HEAD|POST)" type="*~magnus-internal/*" fn="send-file" 
Service method="TRACE" fn="service-trace" 
Error fn="error-j2ee" 
AddLog fn="flex-log" 
</Object> 

답변

0

우선 Load Balancer 플러그인을 실행중인 경우, 지원 계약이있을 수 있습니다 (플러그인을 프로덕션 환경에 설치하기 전에 GlassFish 라이센스가 필요합니다). 그렇다면 전화 지원은 좋은 선택입니다.

첫 번째 질문에 대답하려면 Load Balancer가 작동하는 데 세션 복제가 필요하지 않습니다.

뻔뻔한 플러그로, 나는 이것을 설정하는데 5-part youtube series을 가지고있다. 다운로드 및 설치시 비디오를 건너 뛰고 설정/구성/테스트로 바로 이동할 수 있습니다. 당신이 설명하는 것을 기반으로, 나는 그 문제가 플러그인 그 자체가 아니라 loadbalancer.xml 구성이라고 생각합니다. loadbalancer.xml을보고 myApp가 구성되었는지 확인하십시오.

희망이 도움이됩니다.

+0

이 튜토리얼을 다시 한번 읽어야하고, 애플리케이션을 재배포하고 apply-http-lb-changes를 입력하면 작동하기 시작했다. 어쨌든, 당신의 대답에 감사드립니다. – vlattson