Microservice

웰시고기·2021년 2월 12일
0

N-Tier & Monolithic

  • 이전에는 N-Tier나 monolithic 방식이 표준으로 사용됬었다. 하지만 코드의 밀접한 결합은 변경이 어렵고 다양한 층에서 단일의 배치는 테스팅을 어렵게 했다. 또한 코드의 재사용도 어려워졌다.

Microservices Architecture(MSA)

  • 시스템을 개별적인 요소로 나누고 서로 통신할 수 있도록한 구조이다.
  • RESTful한 endpoint를 제공해서 다양한 언어를 제공한다.
  • 쉽게 테스트, 배치, 공유할 수 있다.
  • 사용자 요구에 따라 쉽게 scaling할 수 있다.
  • 장애에 회복성이 높다.(개별적 요소만 장애를 일으키고 영향을 미치지 않음)

Spring Cloud

  • Netflix가 만든 Eureka를 통합한 Spring Cloud는 microservice들을 찾고 등록하는 역할을 한다.
  • Eureka는 서버와 클라이언트 컴포넌트로 이루어져 있다.
  • 서버 컴포넌트는 모든 microservice들을 이용하도록 등록시킨다.
  • 클라이언트 컴포넌트를 microservice에서 등록하기 위해 사용한다.
  • 다음은 Eureka web console창이다.

Spring Data REST

  • microservice를 쉽게 사용할 수 있도록 등록된 entity를 REST API로 쉽게 만들어 주는 역할을 한다.
  • 동작 방식
    1. 시작시, Spring Data REST는 모든 spring data repository를 찾는다.
    1. entity 이름에 맞는 endpoint를 생성한다.
    2. endpoint의 뒤에 s를 붙인다.
    3. CRUD 기능이 가능한 RESTful한 API를 제공한다.

0개의 댓글