2016-11-07 1 views
0

다음 클러스터를 빌드하는 데 더 적합한 Apache 모듈 : 2x Red Hat에는 각각 Tomcat 및 Apache가 있습니다. 확장 성 필요 없음. 고 가용성이 필요합니다. 세션 복제가 필요합니다.앞에서 tomcat 클러스터 apache -로드 균형 조정 방법?

  DNS 
      | 
    Load Balancer 
    /   \ 
    APACHE1  APACHE2 
    TOMCAT1  TOMCAT2 

질문은 아파치와의로드 밸런싱에 어떤 모듈을 사용할 것입니까?

mod_proxy mod_cluster other?

+0

이 작업은 꼭두각시와 어떤 관련이 있습니까? –

+0

죄송합니다 - 아무 것도 아닙니다 - 당신 말이 맞습니다. –

답변

1

올바르게 이해하면 mod_cluster을 JBoss 또는 수정 된 Tomcat과 함께 사용해야합니다. 그래서 평범한 Tomcat (또는 TomEE)을 사용하고 있다면 mod_cluster이 빠져 있다고 생각합니다.

가장 쉬운 옵션은 mod_proxy을 AJP 또는 HTTP 백 엔드와 함께 사용하는 것입니다. 추가 모듈을 만드는 것이 편한 경우 mod_jk을 Tomcat 사용자가 사용할 수 있으며 mod_proxy 이상의 몇 가지 이점을 제공하지만 mod_proxy은 거의 기능 패리티를 달성했습니다.

다이어그램은로드 밸런서가 각각 하나의 Tomcat 인스턴스에 직접 결합 된 두 개의 httpd 인스턴스 중 하나를 선택할 것을 제안합니다. 이 시나리오에서 httpd는로드 균형 조정을 전혀 수행하지 않고 (lb는 작업을 수행하고 있습니다), 따라서 httpd가 해당 구성에서 불필요 할 수 있습니다.

두 httpc를 모두 Tomcat에 교차 연결하려면 mod_proxy의 "밸런서"구성으로 클러스터 유사 동작을 구성해야합니다. 그것은 다음과 같이 보일 것입니다 :

<Proxy balancer://appA> 
    BalancerMember http://tomcatA:8080/appA 
    BalancerMember http://tomcatB:8380/appA 
</Proxy> 

ProxyPass /appA balancer://appA 
ProxyPassReverse /appA balancer://appA 

는 당신에 대해 읽고 구성에 맞게 적용해야 tons of options for mod_proxy있다. sticky-session, hot-standbys (예제 다이어그램에는 없지만 실제로 HA가 필요한 경우 좋은 아이디어), 비대칭로드 밸런싱 등을 구성 할 수 있습니다.

+0

자세한 설명을 주셔서 감사합니다. 아파치는 아직 결정되지 않았으며, 서버 당 두 개의 Tomcat 인스턴스가있을 것입니다. 두 노드 모두에서 고 가용성을 위해 실행하고 싶습니다. 요점은 tomcat을 구성하는 방법이며, 앞으로 무엇이 결정될 것입니까? 나중에. 다시 고마워. –

+0

아아, 알았어. 'AJP' IMO를 사용하면 약간의 이점이 있지만'mod_proxy' ('_ajp' 또는'_http') 나'mod_jk'에 만족할 것입니다. 'mod_proxy'는 애드온 모듈이 아니라 httpd로 직접 배송하는 이점이 있습니다. Tomcat 구성은 대개 프록시에 독립적입니다 (물론'HTTP' 대'AJP' 프로토콜의 선택 제외). (원래의 질문은 Tomcat을 설정하는 방법이 아니라 어떤 httpd 모듈을 사용할지를 묻습니다.) –

+0

@ChristopherSchultz, mod_cluster는 Tomcat 6 이상에서 작동합니다. 하나는 [lib 디렉토리에 mod_cluster jar를 넣기] (http://modcluster.io/documentation/#installing-in-tomcat-1)와 [server.xml에 mod_cluster Listener를 추가하기] (http : // modcluster. io/documentation/# lifecycle-listener). 가장 큰 장점은 Tomcat이 자동으로 httpd에보고하므로 httpd 측에서 작업자 호스트 이름, 포트 또는 응용 프로그램 컨텍스트를 구성 할 필요가 없다는 것입니다. 그것은 완전히 역동적입니다. –

관련 문제