책너두 (도메인 주도 설계로 시작하는 마이크로서비스 개발) 24일차 (~196p)

요약

  • 6장. 사례연구 - 마이크로서비스 도출과 아키텍처 구성 나머지 부분에 대해 이해함
    • JHipster를 활용한 아키텍처 구성
      • MSA 외부 아키텍처 구성(게이트웨이, 레지스트리 서비스)
        • JHipster로 개발 시작하기
        • 게이트웨이 만들기
        • 레지스트리 및 게이트웨이 실행

메모

JHipster로 개발 시작하기

  • JHipster를 이용하여 마이크로서비스 개발 환경을 구축하는 방법에대해 설명
  • JHipster는 유레카와 스프링 클라우드 컨피그를 활용한 레지스트리를 제공하며, 줄(Zuul) 기반의 게이트웨이와 사용자 관리 및 로그인 기능이 통합된 프런트엔드 서비스를 제공함.
    • 이를 통해 기본적인 사용자 관리 및 로그인 기능이 가능함.
  • JHipster를 이용한 마이크로서비스 애플리케이션 개발 순서는 다음과 같음
    1. 게이트웨이 생성
    2. 레지스트리 생성
    3. 마이크로서비스 생성
      • 이번 예제에서는 book, rental, user라는 3개의 마이크로서비스를 생성함.
    4. 생성한 마이크로서비스에 엔티티 생성
    5. 생성된 엔티티를 게이트웨이가 인식할 수 있도록 게이트웨이에 등록

게이트웨이 만들기

  1. 게이트웨이 폴더 생성
    • gateway라는 이름의 폴더를 생성함.
  2. JHipster 프로젝트 설정
    • 생성된 gateway 폴더를 JHipster 프로젝트로 설정함.
    • 이 예제에서는 프런트엔드로 Vue.js를 사용하므로 Vue.js를 기반으로 게이트웨이를 생성함.
    • jhipster --blueprints vuejs --skip-checks 명령을 사용함.
  3. 옵션 선택
    • JHipster 명령을 실행하면 애플리케이션 옵션을 묻는 질문이 나타남.
      • 이때 키보드 화살표를 사용하여 옵션을 선택함.
      • 이 선택은 취소할 수 없으므로 신중해야 함.
      • 만약 잘못 선택하면 디렉터리를 삭제하고 처음부터 다시 시작해야 함.
  • 이러한 과정을 통해 JHipster 레지스트리와 프런트엔드 서비스, 게이트웨이를 생성할 수 있음
  • p189~192에 애플리케이션 옵션에 대한 내용 자세하게 설명

레지스트리 및 게이트웨이 실행

  1. 레지스트리 실행
    • 먼저 gateway 디렉터리에서 docker-compose -f src/main/docker/jhipster-registry.yml up 명령을 실행하여 레지스트리를 구동함.
    • 레지스트리는 도커 컨테이너로 제공되므로 도커 컴포즈를 이용함.
    • 정상적으로 작동하면 웹 브라우저에서 http://localhost:8761에 접속하여 확인할 수 있음.
  2. 게이트웨이 실행
    • 게이트웨이 실행은 mvnw 명령을 사용하여 이루어짐.
    • 이때 사용하는 운영체제에 따라 명령이 다르므로 윈도우는 mvnw, macOS는 ./mvnw를 입력함.
    • 이것 역시 정상적으로 작동하면 웹 브라우저에서 http://localhost:8080에 접속하여 확인할 수 있음.
  • 로그인은 아이디와 패스워드 모두 admin을 입력하면 됨.
  • 이렇게 실행된 레지스트리 서비스(포트: 8761)와 게이트웨이 겸용 프런트엔드 서비스(포트: 8080)는 각각 별도의 포트로 실행 중임.

댓글

Designed by JB FACTORY