더북(TheBook)

2.3 개발자 이야기: 스프링 부트와 자바로 마이크로서비스 생성



마이크로서비스를 만들 때 개념 공간에서 구현 공간으로 이동하는 것은 관점의 전환이 필요하다. 특히 개발자는 애플리케이션을 구성하는 각 마이크로서비스의 구현 방식에 대한 기본 패턴을 정립해야 한다. 각 마이크로서비스가 고유한데, 상용구(boilerplate) 코드를 제거하는 프레임워크를 사용하고 마이크로서비스 각 부분이 일관된 방식으로 배치되어 있는지 확인해야 한다.

이 절에서는 EagleEye 도메인 모델에서 라이선싱 마이크로서비스를 구축할 때 개발자의 우선순위를 살펴볼 것이다. 라이선싱 서비스는 스프링 부트를 사용해 작성한다. 스프링 부트는 표준 스프링 라이브러리보다 추상화된 레이어로, 개발자가 전통적인 스프링 애플리케이션보다 훨씬 적은 형식과 구성으로 그루비(Groovy)와 자바 기반의 웹 애플리케이션과 마이크로서비스를 신속히 구축하게 한다.

예를 들어 라이선싱 서비스에서는 자바를 주 프로그래밍 언어로 사용하고, 아파치 메이븐(Apache Maven)을 빌드 도구로 사용한다.

앞으로 다룰 여러 절에서 다음 단계를 공통적으로 수행할 것이다.

1. 마이크로서비스의 기본 골격과 메이븐 스크립트를 빌드해 애플리케이션을 빌드한다.

2. 마이크로서비스용 스프링 컨테이너를 시작할 스프링 부트스트랩(bootstrap) 클래스를 구현하고 이 클래스의 초기화 작업을 시작한다.

3. 서비스의 엔드포인트를 노출하기 위해 엔드포인트를 매핑하는 스프링 부트 컨트롤러(controller) 클래스를 구현한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.