Vert.x 프로젝트를 생성하는 가장 쉽고 권장되는 방법

Vert.x 프로젝트를 생성하는 가장 쉽고 권장되는 방법은 Vert.x Initializer 웹사이트를 이용하는 것입니다. 이 방식은 Spring Boot의 Spring Initializr와 유사하게, 웹 UI를 통해 프로젝트 설정 및 의존성을 선택하고 바로 다운로드할 수 있도록 해줍니다.

 

🚀 Vert.x 프로젝트 생성 단계별 방법 (Vert.x Initializer 사용)

 

 

1단계: Vert.x Initializer 접속

 

Vert.x Initializer 웹사이트(http://start.vertx.io)에 접속합니다.

 

2단계: 프로젝트 설정 선택

 

프로젝트에 필요한 다양한 설정을 선택합니다. 주요 설정 항목은 다음과 같습니다.

  • Project metadata
    • Group: 프로젝트의 그룹 ID (예: com.example)를 입력합니다.
    • Artifact: 프로젝트의 아티팩트 ID 또는 이름 (예: my-vertx-project)을 입력합니다.
  • Vert.x:
    • Vert.x version: 사용하고자 하는 Vert.x 버전을 선택합니다. (일반적으로 최신 안정 버전을 선택합니다.)
    • Language: 주력으로 사용할 프로그래밍 언어를 선택합니다. (예: Java, Kotlin, Scala, Groovy 등)
    • Build tool: 사용할 빌드 도구를 선택합니다. (예: Maven, Gradle)
    • Java version: 사용할 Java 버전을 선택합니다. (Vert.x 버전에 따라 지원되는 최소 버전이 다를 수 있습니다.)
  • Dependencies:
    • 프로젝트에 필요한 추가 라이브러리(컴포넌트)를 검색하고 선택합니다. (예: 웹 서버를 만들 경우 Vert.x Web, 데이터베이스 연동을 위한 Reactive PostgreSQL Client 등)
    • 기본적인 HTTP 서버 예제를 원한다면 Vert.x Core만 선택하거나, 웹 애플리케이션 개발을 위해서는 Vert.x Web을 추가로 선택합니다.

 

3단계: 프로젝트 생성 및 다운로드

 

모든 설정이 완료되면 화면 하단의 ‘Generate Project’ 버튼을 클릭합니다.

  • 설정된 프로젝트 구조와 빌드 파일, 기본 Verticle 클래스 등이 포함된 ZIP 파일이 다운로드됩니다.

 

4단계: 프로젝트 압축 해제 및 IDE에서 열기

 

  1. 다운로드된 ZIP 파일의 압축을 해제합니다.
  2. 사용하는 IDE(IntelliJ IDEA, Eclipse 등)를 실행하고, 압축 해제된 폴더를 Maven 또는 Gradle 프로젝트로 불러옵니다.
    • IDE가 빌드 도구 파일을 인식하여 자동으로 필요한 종속성을 다운로드하고 프로젝트를 설정할 것입니다.

 

5단계: 기본 코드 확인 및 실행

 

프로젝트를 열면 일반적으로 다음과 같은 기본 구조를 확인할 수 있습니다.

  • src/main/java/[Group 경로]/MainVerticle.java (또는 선택한 언어에 해당하는 파일): Vert.x 애플리케이션의 최소 실행 단위인 Verticle 클래스가 포함되어 있습니다.
    • 이 파일에는 보통 $\text{8080}$ 포트로 간단한 HTTP 서버를 시작하는 예제 코드가 작성되어 있습니다.
  • 실행: MainVerticle 클래스에서 main 메서드(혹은 Verticle을 배포하는 코드)를 찾아 IDE의 실행(Run) 기능을 사용하여 프로젝트를 실행합니다.

 

🛠️ Vert.x 핵심 구성 요소

Vert.x 프로젝트를 생성하는 가장 쉽고 권장되는 방법

 

Vert.x 프로젝트에서 이해해야 할 중요한 용어는 다음과 같습니다.

  • Verticle: Vert.x 애플리케이션의 기본 배포 단위이자 실행 단위입니다. 비즈니스 로직을 포함하며, Vert.x 인스턴스 내에서 실행됩니다.
  • Vert.x Instance: 이벤트 루프와 이벤트 버스를 생성하고, $\text{Verticle}$을 배포 및 관리하는 역할을 합니다. 일반적으로 싱글턴 형태로 애플리케이션당 하나가 생성됩니다.
  • Event Bus: Verticles, 심지어 서로 다른 서버의 Verticles 간에도 메시지를 비동기적으로 주고받을 수 있게 하는 Vert.x의 신경망 역할을 합니다.