22.4. JBoss EAP를 프론트 엔드 로드 밸런서로 구성


백엔드 JBoss EAP 서버에 대한 요청을 프록시하기 위해 프런트 엔드 로드 밸런서 장치로 작동하도록 JBoss EAP 및 undertow 하위 시스템을 구성할 수 있습니다. Cryostat는 비동기 IO를 사용하므로 연결을 담당하는 IO 스레드가 요청에 관련된 유일한 스레드입니다. 동일한 스레드가 백엔드 서버에 대한 연결에도 사용됩니다.

다음 프로토콜을 사용할 수 있습니다.

  • HTTP over plain text (http) HTTP/1 및 HTTP/2 (h2c) 지원
  • HTTP/1 및 HTTP/2(h2)를 지원하여 보안 연결(https)을 통한 HTTP
  • AJP (ajp)

정적 로드 밸런서 를 정의하고 구성에 백엔드 호스트를 지정하거나 mod_cluster 프론트엔드 를 사용하여 호스트를 동적으로 업데이트할 수 있습니다.

22.4.1. mod_cluster를 사용하여 undertow를 로드 밸런서로 구성

기본 제공 mod_cluster 프런트 엔드 로드 밸런서를 사용하여 다른 JBoss EAP 인스턴스를 로드 밸런싱할 수 있습니다.

이 절차에서는 관리형 도메인에서 실행 중이고 다음과 같이 이미 구성되어 있다고 가정합니다.

  • 로드 밸런서 역할을 하는 JBoss EAP 서버입니다.

    • 이 서버는 load-balancer - sockets 소켓 바인딩 그룹에 바인딩된 load-balancer 프로필을 사용합니다.

      참고

      로드 밸런서 프로필은 이미 소켓 바인딩, mod-cluster Cryostat 필터로 사전 구성되었으며 이 서버를 프런트 엔드 로드 밸런서로 사용하기 위해 기본 호스트의 필터를 참조합니다. * 백엔드 서버 역할을 하는 두 JBoss EAP 서버입니다. ** 이러한 서버는 클러스터에서 실행되고 있으며 ha -sockets 소켓 바인딩 그룹에 바인딩된 ha 프로필을 사용합니다. * 백엔드 서버에 부하 분산할 배포 가능한 애플리케이션입니다.

      mod_cluster 프런트 엔드 로드 밸런서 구성
      아래 단계는 관리형 도메인의 부하 분산 서버이지만 독립 실행형 서버 세트에 적용되도록 조정할 수 있습니다. 환경에 맞게 관리 CLI 명령 값을 업데이트해야 합니다.

프로세스

  1. mod_cluster 알림 보안 키를 설정합니다.

    광고 보안 키를 추가하면 검색 중에 로드 밸런서 및 서버가 인증할 수 있습니다.

    다음 관리 CLI 명령을 사용하여 mod_cluster에서 보안 키를 알립니다.

    /profile=ha/subsystem=modcluster/proxy=default:write-attribute(name=advertise-security-key, value=mypassword)
  2. mod_cluster 로드 밸런서의 보안 키를 업데이트합니다.

    다음 관리 CLI 명령을 사용하여 mod_cluster 필터의 보안 키를 설정합니다.

    /profile=load-balancer/subsystem=undertow/configuration=filter/mod-cluster=load-balancer:write-attribute(name=security-key,value=mypassword)
    중요

    mod_cluster에서만 사용하는 관리 및 광고 소켓 바인딩은 공용 IP 주소가 아닌 내부 네트워크에 노출되는 것이 좋습니다.

    로드 밸런서 JBoss EAP 서버는 이제 두 개의 백엔드 JBoss EAP 서버를 로드 밸런싱할 수 있습니다.

    여러 mod_cluster 구성

    mod_cluster 하위 시스템은 기본이 아닌 서버를 역방향 프록시에 등록할 수 있는 여러 개의 이름이 지정된 프록시 구성을 지원합니다. 또한 단일 애플리케이션 서버 노드가 다른 프록시 서버 그룹에 등록할 수 있습니다.

    다음 예제에서는 undertow 서버에 ajp-listener, server 및 host를 추가합니다. 또한 광고 메커니즘을 사용하여 호스트를 등록하는 새로운 mod_cluster 구성을 추가합니다.

    /socket-binding-group=standard-sockets/socket-binding=ajp-other:add(port=8010)
    /subsystem=undertow/server=other-server:add
    /subsystem=undertow/server=other-server/ajp-listener=ajp-other:add(socket-binding=ajp-other)
    /subsystem=undertow/server=other-server/host=other-host:add(default-web-module=root-other.war)
    /subsystem=undertow/server=other-server/host=other-host
    /location=other:add(handler=welcome-content)
    /subsystem=undertow/server=other-server/host=other-host:write-attribute(name=alias,value=[localhost]))
    
    /socket-binding-group=standard-sockets/socket-binding=modcluster-other:add(multicast-address=224.0.1.106,multicast-port=23364)
    /subsystem=modcluster/proxy=other:add(advertise-socket=modcluster-other,balancer=other-balancer,connector=ajp-other)
    
    reload

22.4.2. 로드 밸런서에서 순위가 지정된 세션 선호도 활성화

로드 밸런서에서 순위가 매겨진 세션 선호도를 활성화하여 distributable-web 하위 시스템에서 여러 개의 정렬된 경로를 사용하여 세션 선호도를 설정해야 합니다. distributable-web 하위 시스템 및 다양한 선호도 옵션에 대한 자세한 내용은 JBoss EAP 개발 가이드 의 배포 가능한 웹 세션 구성의 distributable-web 하위 시스템을 참조하십시오.

노드 경로를 구분하는 기본 구분 기호는 . . 입니다. 다른 값을 원하는 경우 선호도 리소스의 구분 기호 특성을 구성할 수 있습니다.

프로세스

  1. 로드 밸런서의 순위 지정 세션 선호도를 활성화합니다.

    /subsystem=undertow/configuration=filter/mod-cluster=load-balancer/affinity=ranked:add
  2. 선택 사항: 선호도 리소스의 구분 기호 특성을 구성합니다.

    /subsystem=undertow/configuration=filter/mod-cluster=load-balancer/affinity=ranked:write-attribute(name=delimiter,value=':')

22.4.3. undertow를 정적 로드 밸런서로 구성

Cryostat를 사용하여 정적 로드 밸런서를 구성하려면 undertow 하위 시스템에서 프록시 처리기를 구성해야 합니다. Cryostat에서 프록시 처리기를 구성하려면 정적 로드 밸런서로 사용할 JBoss EAP 인스턴스에서 다음을 수행해야 합니다.

  1. 역방향 프록시 처리기 추가
  2. 각 원격 호스트에 대한 아웃바운드 소켓 바인딩 정의
  3. 역방향 프록시 처리기에 각 원격 호스트 추가
  4. 역방향 프록시 위치 추가

다음 예제에서는 JBoss EAP 인스턴스를 정적 로드 밸런서 장치로 구성하는 방법을 보여줍니다. JBoss EAP 인스턴스는 lb.example.com 에 있으며, server1.example.comserver2.example.com 이라는 두 개의 추가 서버 간에 부하를 분산합니다. 로드 밸런서는 /app 위치로 역방향 프록시되고 Cryostat 프로토콜을 사용합니다.

프로세스

  1. 역방향 프록시 처리기를 추가하려면 다음을 수행합니다.

    /subsystem=undertow/configuration=handler/reverse-proxy=my-handler:add
  2. 각 원격 호스트에 대한 아웃바운드 소켓 바인딩을 정의하려면 다음을 수행합니다.

    /socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=remote-host1/:add(host=server1.example.com, port=8009)
    
    /socket-binding-group=standard-sockets/remote-destination-outbound-socket-binding=remote-host2/:add(host=server2.example.com, port=8009)
  3. 역방향 프록시 처리기에 각 원격 호스트를 추가하려면 다음을 수행합니다.

    /subsystem=undertow/configuration=handler/reverse-proxy=my-handler/host=host1:add(outbound-socket-binding=remote-host1, scheme=ajp, instance-id=myroute1, path=/test)
    
    /subsystem=undertow/configuration=handler/reverse-proxy=my-handler/host=host2:add(outbound-socket-binding=remote-host2, scheme=ajp, instance-id=myroute2, path=/test)
  4. 역방향 프록시 위치를 추가하려면 다음을 수행합니다.

    /subsystem=undertow/server=default-server/host=default-host/location=\/test:add(handler=my-handler)

    lb.example.com:8080/app 에 액세스하는 경우 server1.example.comserver2.example.com 에서 프록시된 콘텐츠가 표시됩니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동