ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • WildFly 기본 개념 이해
    WAS/WildFly 2025. 6. 30. 15:56

     

    WildFly는 Jakarta EE 및 MicroProfile 표준을 지원하는 모듈형 구조의 고성능 오픈소스 애플리케이션 서버

    유연한 확장성과 빠른 부팅 속도를 제공합니다.

     

    Red Hat이 주도하며, 클라우드 네이티브 환경과 대규모 엔터프라이즈 시스템 모두에 적합한 미들웨어 플랫폼

     

     

     

     

     


    💡 WildFly란 무엇인가?

    WildFly는 Red Hat에서 개발한 오픈소스 Java 애플리케이션 서버로, 이전 JBoss Application Server(JBoss AS)의 후속 버전입니다. Jakarta EE (구 Java EE) 표준을 지원하며, 빠른 부팅 속도와 모듈식 구조를 바탕으로 유연한 구성이 가능합니다.

    WildFly는 경량 서버이면서도 강력한 기능을 제공하여, 대규모 엔터프라이즈 시스템부터 마이크로서비스까지 폭넓게 활용됩니다.

     

     


    📦  지원 스펙

    WildFly는 Jakarta EE 표준 전체를 지원하며, 다음과 같은 기술을 포함합니다:

    • EJB (Enterprise JavaBeans)
    • JPA (Java Persistence API)
    • JMS (Java Message Service)
    • CDI (Contexts and Dependency Injection)
    • JAX-RS (RESTful Web Services)
    • Servlet / JSP / JSF
    • Bean Validation

    각 지원 spec은 https://www.wildfly.org/downloads/ > Release Notes  참고 :)

     

     

    🔍  지원 Java 확인

    방법 위치 확인 포인트
    Getting Started Guide
    (시작 가이드)
    https://docs.wildfly.org
    /<버전>/Getting_Started_Guide.html
    Requirements 항목에서
    지원 JDK 최소 버전 확인 가능
    WildFly and WildFly Preview
    (표준 vs 프리뷰 비교 문서)
    https://docs.wildfly.org
    /<버전>/WildFly_and_WildFly_Preview.html
    Preview는 JDK 17 이상 필수,
    표준 WildFly는 11·17·21 사용 가능 여부 명시
    GitHub Release Notes
    certifications
    https://github.com/wildfly/wildfly/releases
    https://github.com/wildfly/certifications
    TCK(Test Compatibility Kit) 인증 결과로 검증된 Java 버전 목록 확인 가능

     

     


    ⚙️ Standalone vs Domain 모드

    WildFly는 두 가지 운영 모드를 제공합니다.

     

     

    1️⃣ Standalone 모드

    단일 인스턴스를 실행하는 방식으로, 설정 파일은 standalone.xml을 사용합니다. 개발이나 소규모 운영 환경에 적합합니다.

    $ ./bin/standalone.sh
    2️⃣ Domain 모드

    여러 서버 인스턴스를 Domain Controller를 통해 중앙에서 관리합니다. 클러스터, 대규모 운영 환경에서 유리하며, domain.xml, host.xml 등의 설정 파일을 사용합니다.

    $ ./bin/domain.sh

     

     

     

    🚀 WildFly의 다양한 standalone 설정 파일

    📁 기본 포함 설정 파일 목록

    모든 설정 파일은 $WILDFLY_HOME/standalone/configuration/ 경로에 있습니다.

    설정 파일 특징 주 용도
    standalone.xml Web Profile만 포함 (경량) 기본 개발/테스트용
    standalone-ha.xml Web Profile + HA 구성 (세션 복제 등) 소규모 클러스터
    standalone-full.xml 전체 Jakarta EE 스펙 포함 JMS, EJB 등 포함한 운영용
    standalone-full-ha.xml 전체 스펙 + HA 구성 Full 기능 + 세션 복제
    standalone-microprofile.xml MicroProfile + REST/JPA 등 최소 스펙 마이크로서비스, 클라우드
    standalone-microprofile-ha.xml MicroProfile + HA 클라우드 + 세션 복제

    🖥️  실행 예시

    # 기본 실행
    $ ./bin/standalone.sh
    
    # Full 기능 + HA 구성
    $ ./bin/standalone.sh -c standalone-full-ha.xml
    
    # MicroProfile + HA
    $ ./bin/standalone.sh -c standalone-microprofile-ha.xml
    

    📌 상황별 추천

    • 개발 환경: standalone.xml – 빠르고 가볍다.
    • JMS, EJB 등 포함 운영: standalone-full.xml
    • 세션 복제, 클러스터: standalone-full-ha.xml 또는 standalone-ha.xml
    • 마이크로서비스 (REST 기반): standalone-microprofile.xml
    • Kubernetes 등 클라우드 + 세션 공유: standalone-microprofile-ha.xml

     

    💬 

    운영환경에서는 standalone-full-ha.xml 또는 Domain 모드 + full-ha 프로파일이 널리 사용됩니다.
    개발환경에서는 필요 없는 기능을 제거한 standalone.xml 기반 커스터마이징도 자주 사용됩니다.


     


    📝 마무리

    WildFly는 Jakarta EE 기반의 강력한 오픈소스 WAS로서, 모드와 설정 파일을 목적에 맞게 잘 선택하는 것이 중요합니다.

     

     

     

    'WAS > WildFly' 카테고리의 다른 글

    WildFly Session Clustering on Kubernetes  (8) 2025.07.07
    WildFly 설치 및 시작  (0) 2025.06.30
Designed by Tistory.