JHipster MSA 구축

개요

Mricroservice는 수많은 장점을 가지고 있지만 구축하는건 생각보다 쉽지 않습니다. JHipster와 함께 MSA구축을 하면 한층 쉽게 다가갈수 있다고 생각 되어 글을 작성 하게 되었습니다.

본 글에서는 크게

  • 개발 MSA 환경 구축
  • Docker Compose를 활용한 Service Mash

나뉘며 프로젝트 생성부터 Microservice Gateway와 Microservice Application생성과 더불어 상용 배포를 위한 Docker Compose 설정까지 알아 보겠습니다.

개발 MSA 환경 구축

MSA diagram

JHipster란?

JHipster란?

제이힙스터
간단히 정의 하면 자바 기반 생성(generate) 개발 플랫폼 이라고 말씀 드릴 수 있습니다.

기존 뛰어난 생산성으로 흥한 개발 플랫폼인 Ruby의 Ruby on Ralse나 Node.js의 Meteor.js등 애플리케이션 개발을 생성 도구 활용으로 인기를 었습니다.

그동안 Spring 진영에서도 생성 도구를 활용한 개발이 없어 생산성에서 뒤쳐졌지만, JHipster에서 만들게 되어 Spring에서도 빠른 생산성을 확보하게 되었습니다.

생성 도구는 Yeoman이라는 기존 웹 보일러플레이트 프로젝트 생성 도구인데 JHipster에서 Yeoman기반으로 만들어 활용 하였습니다.

해외판 전자정부프레임워크? JHipster에 대해 알아 보자!

개요

우리나라에서 공공기관과 민간기업에서 많이 사용하는 전자정부프레임워크가 있습니다. 업데이트도 느리거니와 생성도 불편하다고 생각 됩니다. 그에 반해 해외에서는 Yeoman을 가지고 쉽게 Spring Boot 개발 환경을 만들 수 있고 더불어 편한 유지 보수를 할 수 있게 도와주는 JHipster를 소개 합니다.

해외에서 자바 개발 플랫폼으로 핫한 프로젝트 입니다.

제이힙스터깃허브

오브젝트 매핑과 슈퍼 타입 토큰

자바 프로젝트를 진행 하면서 외부 데이터를 가지고 VO클래스에 매핑하고 여러가지 연산작업을들 합니다. 그중에서도 VO클래스의 정보를 가져와 매핑하는 방법에 대해서 궁금하게 되었고 자바에서 제공하는 리플렉션API와 간단한 예제들을 통해서 오브젝트 매핑에 대해 알아 보겠습니다.

클래스 정보 가져오기

자바는 java.lang.reflect패키지의 API를 가지고 클래스의 정보와 필드 어노테이션 정보까지 모두 가져 올수 있는 리플렉션을 제공 합니다.

그래서 이렇게 구할수 있는 정보를 가지고 외부에서 가져오는 json 데이터나 sql문을 가져올시 매핑을 하여서 해당 오브젝트로 값을 삽입해 넘겨줄수 있습니다.