미들웨어/용어

미들웨어 기본용어

saay-hi 2024. 10. 21. 10:39

프로파일(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 : 세션 복제를 위한 분산 캐시 설정