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


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

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

  • HTTP over plain text (http) HTTP/1 및 HTTP/2 (h2c) 지원

    참고

    HTTP/2는 기술 프리뷰로 만 제공됩니다.

  • HTTP/1 및 HTTP/2(h2)를 지원하여 보안 연결(https)을 통한 HTTP

    참고

    HTTP/2는 기술 프리뷰로 만 제공됩니다.

  • Cryostat (ajp)

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

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

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

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

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

    • 이 서버는 standard-sockets 소켓 바인딩 그룹에 바인딩된 기본 프로필을 사용합니다.
  • 백엔드 서버 역할을 하는 두 개의 JBoss EAP 서버.

    • 이러한 서버는 클러스터에서 실행 중이며 ha -sockets 소켓 바인딩 그룹에 바인딩되는 ha 프로필을 사용합니다.
  • 부하 분산할 배포 가능한 애플리케이션은 백엔드 서버에 배포됩니다.
mod_cluster 프런트 엔드 로드 밸런서 구성

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

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

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

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

    /profile=ha/subsystem=modcluster/mod-cluster-config=configuration:write-attribute(name=advertise-security-key, value=mypassword)
  2. mod_cluster용 멀티캐스트 주소 및 포트를 사용하여 소켓 바인딩을 생성합니다.

    로드 밸런싱을 위한 서버 검색 및 통신에 사용할 mod_cluster의 소켓 구성을 생성해야 합니다.

    다음 관리 CLI 명령을 사용하여 적절한 멀티캐스트 주소 및 포트가 구성된 modcluster 소켓 바인딩을 추가합니다.

    /socket-binding-group=standard-sockets/socket-binding=modcluster:add(multicast-port=23364, multicast-address=224.0.1.105)
  3. mod_cluster 로드 밸런서를 포함합니다.

    광고 보안 키 및 소켓 바인딩을 설정한 후에는 JBoss EAP의 로드 밸런서 인스턴스에 mod_cluster 필터를 Cryostat에 추가해야 합니다.

    다음 관리 CLI 명령을 사용하여 mod_cluster 필터를 추가합니다.

    /profile=default/subsystem=undertow/configuration=filter/mod-cluster=modcluster:add(management-socket-binding=http, advertise-socket-binding=modcluster, security-key=mypassword)

    다음 관리 CLI 명령을 사용하여 mod_cluster 필터를 기본 호스트에 바인딩합니다.

    /profile=default/subsystem=undertow/server=default-server/host=default-host/filter-ref=modcluster:add
중요

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

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

22.4.2. Cryostat를 정적 로드 밸런서로 구성

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

    /subsystem=undertow/server=default-server/host=default-host/location=\/app: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은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.