Red Hat JBoss Enterprise Application Platform 소개
Red Hat JBoss EAP(JBoss Enterprise Application Platform), JBoss EAP 하위 시스템 및 JBoss EAP가 제공하는 다양한 운영 모드에 대해 알아보십시오.
초록
JBoss EAP 문서에 대한 피드백 제공 링크 복사링크가 클립보드에 복사되었습니다!
오류를 보고하거나 문서를 개선하기 위해 Red Hat Jira 계정에 로그인하여 문제를 제출하십시오. Red Hat Jira 계정이 없는 경우 계정을 생성하라는 메시지가 표시됩니다.
프로세스
- 티켓을 생성하려면 다음 링크를 클릭하십시오.
- 요약 에 문제에 대한 간략한 설명을 입력합니다.
- 설명에서 문제 또는 개선 사항에 대한 자세한 설명을 제공합니다. 문서에서 문제가 발생한 위치에 URL을 포함합니다.
- Submit 을 클릭하고 문제를 적절한 문서 팀으로 라우팅합니다.
보다 포괄적 수용을 위한 오픈 소스 용어 교체 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 용어를 교체하기 위해 최선을 다하고 있습니다. 먼저 마스터(master), 슬레이브(slave), 블랙리스트(blacklist), 화이트리스트(whitelist) 등 네 가지 용어를 교체하고 있습니다. 이러한 변경 사항은 향후 릴리스에 걸쳐 점진적으로 구현될 예정입니다. 언어를 보다 포괄적으로 만드는 방법에 대한 자세한 내용은 CTO Chris Wright의 메시지를 참조하십시오.
1장. Red Hat JBoss Enterprise Application Platform 소개 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat JBoss Enterprise Application Platform 작업을 시작하기 전에 JBoss EAP에서 사용하는 몇 가지 일반적인 구성 요소를 이해해야 합니다.
이러한 구성 요소를 이해하면 JBoss EAP 사용과 JBoss EAP 구성 기능을 모두 향상시킬 수 있습니다.
1.1. JBoss EAP 사용 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat JBoss EAP(JBoss Enterprise Application Platform) 8.0은 Web Profile, Core Profile 및 Full Platform 사양과 같은 Jakarta EE 10 사양과 호환됩니다. JBoss EAP의 각 주요 버전은 테스트, 안정화 및 인증된 제품을 제공합니다.
JBoss EAP는 고가용성 클러스터링, 메시징 및 분산 캐싱과 같은 기능에 대해 사전 구성된 옵션을 제공합니다.
JBoss EAP를 사용하여 지원되는 API 및 서비스를 사용하여 애플리케이션을 배포하고 실행할 수 있습니다. 또한 요구 사항에 맞게 JBoss EAP를 구성할 수 있습니다. 예를 들면 다음과 같습니다.
- 요구 사항을 충족하는 데 필요한 하위 시스템만 포함하도록 JBoss EAP를 사용자 지정할 수 있습니다.
- 관리 CLI(명령줄 인터페이스)를 사용하여 작업을 스크립팅하고 자동화하여 XML 구성 파일을 편집하지 않아도 됩니다.
주요 버전의 JBoss EAP는 커뮤니티 프로젝트가 원하는 기능 완전성 수준에 도달하면 WildFly 커뮤니티 프로젝트에서 분기됩니다. 주요 버전은 안정화, 인증 및 프로덕션 사용을 위해 개선될 때까지 테스트됩니다.
JBoss EAP 주요 버전의 라이프사이클 동안 선택한 기능은 cherry-picked되고 커뮤니티 프로젝트에서 주요 릴리스 내의 마이너 릴리스로 백포트됩니다. 각 마이너 릴리스에는 주요 릴리스에 향상된 기능이 도입되었습니다.
1.2. JBoss EAP 기능 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP에는 조직의 요구 사항을 충족하는 다양한 기능이 포함되어 있습니다.
| 기능 | 설명 |
|---|---|
| Jakarta EE 호환 가능 | JBoss EAP 8.0은 Web Profile, Core Profile 및 Full Platform 사양에 대해 Jakarta EE 10 호환 구현입니다. |
| 관리형 도메인 | 단일 서버 인스턴스만 지원하는 독립 실행형 서버와 비교하여 여러 서버 인스턴스와 물리적 호스트를 중앙 집중식으로 관리할 수 있습니다. 구성, 배포, 소켓 바인딩, 모듈, 확장 및 시스템 속성에 대한 서버 그룹 관리를 제공합니다. 애플리케이션 보안 및 보안 도메인의 중앙 집중식 간소화된 관리를 제공합니다. |
| 관리 콘솔 및 관리 CLI | 애플리케이션 배포 및 배포 취소, 시스템 설정 구성, 기타 관리 작업 수행 등 EAP의 구성 및 관리에 사용됩니다. 관리 CLI에는 관리 작업을 스크립팅하고 자동화하는 배치 모드가 포함되어 있습니다. 중요 JBoss EAP가 실행되는 동안 JBoss EAP 구성 파일을 직접 편집하지 마십시오. 관리 CLI를 사용하여 구성을 수정합니다. |
| 간소화된 디렉터리 레이아웃 | modules 디렉터리에는 애플리케이션 서버 모듈이 포함되어 있습니다. 도메인 디렉터리에는 관리형 도메인에 대한 구성이 포함되어 있습니다. 독립 실행형 디렉터리에는 독립 실행형 서버 인스턴스에 대한 구성이 포함되어 있습니다.
배포, 로그, |
| 모듈식 클래스 로드 메커니즘 | JBoss EAP는 특정 모듈 또는 애플리케이션에 표시되는 클래스를 정확하게 제어할 수 있는 스레드로부터 빠르고 매우 동시적인 클래스 로더 모델인 JBoss 모듈을 사용합니다. |
| 간소화된 데이터 소스 관리 | 데이터베이스 드라이버 배포는 다른 JBoss EAP 서비스와 유사합니다. 관리 콘솔 및 관리 CLI는 데이터 소스를 생성하고 관리합니다. |
| 통합된 보안 프레임워크 | Elytron은 관리형 도메인의 독립 실행형 서버와 서버 모두에 대한 액세스를 관리하고 구성하기 위한 단일 통합 프레임워크를 제공합니다. 또한 Elytron은 JBoss EAP 서버에 배포된 애플리케이션에 대한 보안 액세스를 구성하는 데 사용됩니다. |
1.3. 애플리케이션 서버 링크 복사링크가 클립보드에 복사되었습니다!
애플리케이션 서버 또는 앱 서버는 웹 애플리케이션을 실행하는 환경을 제공하는 소프트웨어입니다. 대부분의 앱 서버는 API 세트를 사용하여 웹 애플리케이션에 기능을 제공합니다. 예를 들어 앱 서버는 API를 사용하여 데이터베이스에 연결할 수 있습니다.
1.4. JBoss EAP 하위 시스템 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP는 API를 하위 시스템으로 구성합니다. 이러한 하위 시스템을 구성하여 JBoss EAP 인스턴스의 기능을 향상시킬 수 있습니다. 예를 들어, 하위 시스템을 조정하여 성능을 개선하고 보안을 구성하고 데이터베이스, ID 공급자, 메시징 브로커 등과 같은 외부 리소스에 대한 연결을 구성할 수 있습니다.
관리자는 애플리케이션의 목표에 따라 다양한 동작을 지원하도록 이러한 하위 시스템을 구성할 수 있습니다.
예를 들어 애플리케이션에 데이터베이스가 필요한 경우 JBoss EAP 서버 또는 도메인 서버에서 배포된 애플리케이션이 데이터베이스에 액세스할 수 있도록 데이터 소스를 구성해야 합니다.
1.5. JBoss EAP의 HA(고가용성) 기능 링크 복사링크가 클립보드에 복사되었습니다!
HA 서비스는 단일 장애 지점(failover)로부터 보호하여 배포된 Jakarta EE 애플리케이션의 가용성을 보장하고 요청 볼륨이 많은 시간(부하 분산) 동안 지연을 방지하는 데 사용됩니다.
JBoss EAP의 HA는 함께 작동하는 여러 JBoss EAP 인스턴스를 참조하여 데이터 흐름, 서버 로드 및 서버 오류의 변동에 가장 적합한 애플리케이션을 제공합니다. HA는 부하 분산 외에도 확장성 및 내결함성도 통합합니다.
1.6. JBoss EAP에서 지원되는 운영 모드 링크 복사링크가 클립보드에 복사되었습니다!
JBoss EAP에는 배포된 애플리케이션을 위한 강력한 관리 기능이 있습니다. 이러한 기능은 JBoss EAP를 시작하는 데 사용되는 운영 모드에 따라 다릅니다.
JBoss EAP는 다음과 같은 운영 모드를 제공합니다.
- 인스턴스를 개별적으로 관리하는 독립 실행형 서버
- 단일 제어 지점에서 인스턴스 그룹을 관리하기 위한 관리형 도메인의 서버
2장. Red Hat JBoss Enterprise Application Platform 설정 링크 복사링크가 클립보드에 복사되었습니다!
하나 이상의 애플리케이션을 실행하는 단일 서버에서 JBoss EAP 인스턴스를 구성하거나 로드 밸런싱 및 페일오버를 위해 외부 로드 밸런서와 함께 클러스터형 여러 JBoss EAP 서버 인스턴스를 구성할 수 있습니다.
2.1. 단일 JBoss EAP 서버 인스턴스를 사용하여 간단한 설정 링크 복사링크가 클립보드에 복사되었습니다!
간단한 JBoss EAP 설정은 하나 이상의 배포된 애플리케이션을 실행하는 단일 서버로 구성됩니다.
그림 2.1. 단일 JBoss EAP 서버 인스턴스를 사용하여 간단한 설정
JBoss EAP 인스턴스는 데이터 소스 하위 시스템을 사용하여 다음 구성 요소에 연결합니다.
- 데이터베이스
- Kerberos 서버
JBoss EAP는 elytron (보안) 하위 시스템을 사용하여 Kerberos 서버에 연결하고 서버를 배포된 두 개의 애플리케이션에 노출합니다.
JBoss EAP는 undertow 하위 시스템을 사용하여 클라이언트 서버의 요청을 처리하고 적절한 애플리케이션에 요청을 보냅니다.
애플리케이션은 JBoss EAP에서 노출하는 API를 사용하여 데이터베이스 및 Kerberos 서버에 연결합니다. 애플리케이션이 작업을 완료하고 undertow 하위 시스템에서 요청을 통해 응답을 다시 보냅니다.
2.2. 여러 JBoss EAP 서버 인스턴스를 사용하여 복잡한 설정 링크 복사링크가 클립보드에 복사되었습니다!
복잡한 설정에는 여러 JBoss EAP 서버 인스턴스가 포함될 수 있습니다. 예를 들어 로드 밸런서를 사용하여 관리형 도메인의 {JBoss EAP} 인스턴스에 처리 부하를 배포할 수 있습니다.
다음 다이어그램은 관리형 도메인의 로드 밸런서에 따라 정렬되는 세 개의 JBoss EAP 인스턴스를 보여줍니다.
그림 2.2. 여러 JBoss EAP 서버 인스턴스를 사용하여 복잡한 설정
이 예에서 관리자는 각 인스턴스가 mod_cluster 및 infinispan 세션 복제를 사용하여 애플리케이션에 대한 HA(고가용성) 지원을 제공하도록 구성했습니다. 각 인스턴스에는 다음 구성 요소가 포함됩니다.
- 웹 애플리케이션
- 웹 서비스
- 배포된 엔터프라이즈 빈
-
데이터 소스 하위 시스템으로 설정된
데이터베이스연결 -
elytron(보안) 하위 시스템으로 설정된 LDAP 서버와의 연결
다이어그램은 복잡한 JBoss EAP 설정과 관련된 다음 구성을 표시합니다.
-
EAP 1 에는 외부 메시지 브로커에 연결하는 Jakarta 메시징 큐로 구성된
messaging-activemq하위 시스템이 있습니다. - 외부 메시지 브로커는 실행 중인 모든 JBoss EAP 인스턴스 간에 공유됩니다.
모든 인바운드 요청은 로드 밸런서를 통과합니다.
- 구성된 로드 밸런싱 알고리즘과 각 JBoss EAP 인스턴스에서 제공하는 정보에 따라 로드 밸런서는 요청을 적절한 JBoss EAP 인스턴스로 보냅니다.
-
각 JBoss EAP 인스턴스는
undertow하위 시스템을 사용하여 요청을 적절한 애플리케이션으로 보냅니다. - 각 애플리케이션은 JBoss EAP에서 노출하는 API를 사용하여 데이터베이스 및 Kerberos 서버에 연결합니다.
-
애플리케이션이 작업을 수행한 후
undertow하위 시스템은 요청자에게 응답을 보냅니다.
infinispan 하위 시스템은 세션 정보와 같은 비준수된 정보를 JBoss EAP 인스턴스에 전파합니다.
3장. JBoss EAP 8.0의 패키지 네임스페이스 변경 링크 복사링크가 클립보드에 복사되었습니다!
이 섹션에서는 JBoss EAP 8.0의 패키지 네임스페이스 변경 사항에 대한 추가 정보를 제공합니다. JBoss EAP 8.0은 자카르타 EE 10 및 자카르타 EE 10 API의 기타 여러 구현을 완벽하게 지원합니다. Jakarta EE 10 for JBoss EAP 8.0에서 지원하는 중요한 변경 사항은 패키지 네임스페이스 변경입니다.
3.1. javax에서 jakarta 네임스페이스로 변경 링크 복사링크가 클립보드에 복사되었습니다!
자카르타 EE 8과 EE 10의 주요 차이점은 EE API Java 패키지 이름을 javax.* 에서 jakarta *로 바꾸는 것입니다. 이는 Java EE가 Eclipse Foundation으로 이동하고 자카르타 EE 설정을 따릅니다.
이 네임스페이스 변경에 맞게 애플리케이션을 JBoss EAP 7에서 JBoss EAP 8로 마이그레이션하는 가장 큰 작업입니다. 애플리케이션을 자카르타 EE 10으로 마이그레이션하려면 다음 단계를 완료해야 합니다.
-
import 구문 또는 기타 소스 코드에서
javax패키지에서jakarta패키지로 EE API 클래스를 사용하는 것을 업데이트합니다. -
jakarta로 시작하도록 EE 지정 시스템 속성 또는javax로 시작하는 기타 구성 속성의 이름을 업데이트합니다. -
EE 인터페이스의 애플리케이션 제공 구현 또는
java.util.ServiceLoader메커니즘을 사용하여 부트스트랩된 추상 클래스의 경우 구현 클래스를 META-INF/services/javax에서 META-INF/services/jakarta로 식별하는 리소스의 이름을 변경합니다.[rest_of_name]은META-INF/services/jakarta.[rest_of_name]로 변경합니다.
Red Hat Migration Toolkit은 애플리케이션 소스 코드에서 네임스페이스를 업데이트하는 데 도움이 될 수 있습니다. 자세한 내용은 How to use Red Hat Migration Toolkit for Auto-Migration of an Application to the Jakarta EE 10 Namespace. 소스 코드 마이그레이션이 옵션이 아닌 경우 Open Source Eclipse Transformer 프로젝트는 기존 Java 아카이브를 javax 네임스페이스에서 jakarta 네임스페이스로 변환하는 바이트 코드 변환 도구를 제공합니다.
이 변경 사항은 Java SE의 일부인 javax 패키지에는 영향을 미치지 않습니다.
2024-02-08에 최종 업데이트된 문서