Skip to main content

Springboot

Java 기반 마이크로서비스 및 웹 앱을 위한 컴포넌트

Java Spring Boot는 Java 기반 프레임워크를 사용하여 마이크로 서비스 및 웹 앱을 보다 쉽게 만들 수 있는고 자체적인 웹서버를 내장하고 있고 구성 설정등 자동화를 지원하는 프레임워크입니다.

Turaco에서는 Java 기반의 백엔드 애플리케이션 개발을 위한 컴포넌트 형태로 제공됩니다. Springboot 컴포넌트를 이용하면 즉시 개발을 시작할 수 있게 템플릿 코드를 생성하여 개발자에게 전달하고 개발자는 비즈니스 로직에 집중할 수 있도록 도와 줍니다.


컴포넌트 배치

Springboot 컴포넌트는 아키텍처 설계 화면 (이하 디자이너 화면)에서 좌측에 위치한 컴포넌트 목록에서 백엔드 카테고리에 있습니다.

⓵ 설계화면 왼쪽 컴포넌트 리스트 화면에서 Springboot 컴포넌트를 선택 후 디자이너 화면으로 드래그 & 드롭합니다.

⓶ 배치된 Springboot 컴포넌트에 대한 이름과 설명을 입력합니다.

⓷ 이름과 설명을 입력 후 확인을 클릭합니다.
     이름과 설명은 필수 입력값이며 입력하지 않으면 확인 버튼이 활성화되지 않습니다.

입력된 이름과 설명은 아키텍처 설계 및 생성되는 리소스에 사용됩니다.


속성 설정

설정 가능한 컴포넌트 속성은 이미 설정한 이름 및 설명을 제외하고 아래와 같습니다.

  • 포트 설정 -> 컨테이너의 포트 정보로 주입
  • 영구 볼륨 -> 컨테이너 저장소로 주입
  • 환경 변수 -> 컨테이너의 환경 변수로 주입

패키지 이름 설정

⓸ 패키지 이름은 반드시 지정되어야 합니다.
     지정된 패키지 이름은 생성되는 소스내의 패키지 이름으로 저장됩니다.
     또한 패키지 이름은 애플리케이션을 구분하는 고유한 값입니다.

     * 중복되지 않도록 FQDN 형식으로 입력합니다.
       ex) com.turaco.account

포트 설정

⓸ 포트 정보는 3가지 정보를 반드시 입력해야 합니다.
     미 입력시 컨테이너 실행 후 정상적으로 접속이 되지 않을 수 있습니다.

  • 프로토콜 -> 통신시 사용할 프로토콜 설정(현재는 http만 지원)
  • 입력포트 -> 서비스 입력 포트로 사용
  • 타겟포트 -> 서비스 출력 포트이며 컨테이너의 입력 포트로 주입

스토리지 및 환경 변수 설정

컨테이너는 로컬 스토리지를 사용할 수 있으나 컨테이너의 특성상 재시작되거나 삭제되는 경우 저장된 데이터가 같이 삭제됩니다. 이러한 특성 때문에 외부에 영구 볼륨을 설정하고 저장을 해야 데이터가 유실되지 않고 보관이 됩니다. Turaco에서는 운영 환경에서 많이 사용하는 2가지 스토리지 클래스를 지원합니다.

  • NFS 기반의 스토리지 클래스 (tlc-nfs-sc)
  • Disk 기반의 스토리지 클래스 (tlc-block-sc)

⓹ 스토리지 설정에는 아래와 같이 3개의 속성이 있습니다.

  • 접근 모드 -> 스토리지 접근 모드 선택
  • 볼륨 크기 -> 볼륨 크기 입력(ex. 5Gi)
  • 스토리지 클래스 -> 스토리지 클래스 이름 입력(기본값 유지 추천)

⓺ 스토리지 접근 모드를 선택하는 버튼을 클릭합니다.
     3가지 옵션 중 원하는 옵션을 선택할 수 있습니다.

⓻ 스토리지 접근 모드를 선택하는 버튼을 클릭합니다.
     3가지 옵션 중 원하는 옵션을 선택할 수 있습니다.

  • ReadWriteMany -> 여러개의 컨테이너에서 읽고 쓸수 있음
  • ReadWriteOnce -> 하나의 컨테이너에서만 읽고 쓸수 있음
  • ReadOnlyMany -> 여러개의 컨테이너에서 읽을 수 있음

⓼ '+ADD' 버튼을 누르면 환경 변수를 설정할 수 있는 옵션이 나타납니다.

⓽ 환경 변수를 k-v 형식으로 원하는 키와 값을 입력합니다.
     '+ADD' 버튼을 통해 필요한 만큼 반복해서 추가합니다.


데이터베이스 연결타입 설정

Springboot 컴포넌트는 주로 비즈니스 로직 개발을 위해 사용하는 컴포넌트입니다. 이를 위해서 데이터베이스와 연동을 해야하고 RDBMS를 연결해서 사용할 수 있습니다. MariaDB, MySQL, PostgreSQL 컴포넌트를 Springboot와 연결할 경우 이 옵션이 활성화 됩니다.

데이터베이스 타입 설정

⓵ 초기 베이터베이스 연결 타입 항목은 비활성화 되어 있습니다.

⓶ 데이터베이스 연결 타입 활성화를 위해 데이터베이스 컴포넌트를 배치합니다.
    연결된 데이터베이스와 Springboot 컴포넌트를 연결합니다.

⓷ 데이터베이스 컴포넌트가 연결 후 해당 항목의 활성화 여부를 확인합니다.

⓸ 드롭다운 메뉴를 클릭하여 원하는 스키마를 선택합니다.
    선택할 수 있는 옵션에는 아래와 같이 2가지가 있습니다.

  • MyBatis -> DB 연결시 MyBatis 스키마를 사용
  • JPA -> DB 연결시 JPA 스키마를 사용