미들웨어 기본용어
프로파일(profile)
Java EE 애플리케이션 서버(jboss/wildfly)에서 서로 다른 실행 환경 구성을 의미함
프로파일은 서버가 어떻게 동작할지 결정하는 "설정 파일들의 모음"
각 프로파일은 서버의 특정 기능, 성능 요구, 클러스터링 설정 등에 맞춰서 설계됨
1.프로파일이란, 서버가 동작할 때 사용하는 설정모드
각 프로파일은 서로 다른 구성 요소나 서비스가 포함된 설정을 제공함
이 설정 파일들은 서버의 각종 기능( ex, 데이터 소스, 트랜잭션 ,메일 세션, 클러스터링 등) 을 어떻게 활성화하거나 비활성화할지 정의함
2.standaloen-ha.xml파일과 HA 프로파일
Standaloen-ha.xml은 고가용성(HA, High Availability)을 지원하는 서버 구성을 정의하는 프로파일
HA 프로파일은 클러스터링을 지원하여 여러 서버 노드 간에 세션 복제, 트랜잭션 복제 등의 기능을 제공함. 이를 통해 한 서버 노드가 다운되더라도 다른 노드에서 계속해서 애플리케이션을 실행할 수 있음
3.wildfly/jboss 프로파일 예시(서버의 목적과 사용 환경에 따라 필요한 기능을 빠르게 설정)
- Standalone.xml : 기본 프로파일. 단일 서버 인스턴스를 위한 구성임. 클러스터링을 포함하지 않으며, 기본적인 서버 기능만함
- Standalone-full.xml : 추가적인 java EE 기술 ( ex, 트랜잭션, 메시징, 웹 서비스) 을 활성화한 프로파일임. 클러스터링은 포함되지 않음
- Standalone-ha.xml : 고가용성(ha)을 위한 프로파일. 클러스터링 기능이 활성화되어 여러 서버 노드 간의 세션 복제와 같은 고가용성 기능을 제공함
- Standalone-full-ha.xml : 전체 java EE스펙을 지원하면서, 고가용성 클러스터링까지 포함한 프로파일임
<subsystem xmlns="urn:jboss:domain:jgroups:5.0">
<stack name="udp">
<transport type="UDP"/>
<protocol type="PING"/>
<!-- 기타 클러스터링 설정 -->
</stack>
</subsystem>
<subsystem xmlns="urn:jboss:domain:infinispan:8.0">
<cache-container name="server" default-cache="default">
<replicated-cache name="sessions" mode="SYNC">
<transaction mode="BATCH"/>
<!-- 세션 복제를 위한 캐시 설정 -->
</replicated-cache>
</cache-container>
</subsystem>
Jgroups: 노드 간 통신을 위한 클러스터링 프로토콜 설정
Infinispan : 세션 복제를 위한 분산 캐시 설정