Developing a micro-service in a local environment
Developing a micro-service in a local environment
micro-service 를 local 환경에서 개발하기 하기 위해서는 기존 monolithic 과는 많이 다르다.
운영 환경 과 동일한 환경으로 local 에서 개발을 하기 위해서는 어떻게 해야 할까?
Spring Cloud, Netflix OSS 를 활용 한다면 4개의 어플리케이션이 필수 요소 이다.
- Discovery (Eureka)
- API Gateway (Spring Cloud Gateway)
- API (api-skeleton)
- Client (client-skeleton)
Client 만 개발시에는 API 가 필요 하지 않기 때문에 dev 환경에 API 가 동작 한다는 전제를 한다.
환경은 2 가지만 생각을 해보자
- local
- dev
현재 4 가지 상황이 있고 더 추가 될수 있다.
목차
- Client (홈페이지)
- API (기능)
- API & API
- Client & API
Clinet (홈페이지)
Client 만 개발 한다.
dev 환경의 API Gateway 통해서 가지고 오면 된다.
독립적으로 개발이 가능 하다.
Client 모듈만 필요
API (기능)
API 만 개발 한다.
API 에는 개발을 위한 소스가 있다.
독립적으로 개발이 가능 하다.
API 모듈만 필요
API & API
API A 와 API B 를 같이 개발 한다.
A 와 B 는 서로 간에 Discovery 가 필요하기 때문에 Eureka 사용이 필요하다.
API A, API B, Eureka 3가지 모듈 필요
Client & API
Client 와 API 둘다 개발 한다.
외부에 있는 Client 가 내부에 있는 API 통해야 해서 Gateway 가 필요하다.
Client, API, Gateway 3가지 모듈 필요