Post

spring mircoservices-02

Eureka 서버를 이용한 간단한 msa 연습

프로젝트 목적

  • msa 연습

사용되는 기술

  • Eureka Client
  • Eureka Server
  • Spring Config Server
  • Zipkin
  • HTTP Interface

전체 구조

msa3-struct

Github Link

REAMD.md 참고


느낀점

  • 도식화의 중요성
    • 실제 코드를 짜기 전에, 시각화 툴을 이용해서 전체 구조를 그리는 것이 중요하다.
    • 전체 프로젝트 구조, ERD, 네트워크 구조 등은 언제라도 찾아볼 수 있도록 시각화해서 팀원들 간 공유해야 한다.
  • Webflux 에 대해
    • 자바에서 non-blocking 통신을 위해 도입한 HTTP Interface 를 사용했다.
    • RestTemplate 을 대체하기 위해 도입되었으나, 여전히 webflux 에 대한 의존성을 갖는다.
    • Flux, Mono, Body 등 기존 MVC 와는 생소한 개념이라 제대로 사용하기 위해서는 좀 더 사용해봐야 한다.
    • spring-cloud-gateway 가 webflux 기반으로 동작하기 때문에, 추가 학습 필요
  • 보안 관련
    • 해당 프로젝트는 보안 설정이 빠져있다.
    • OAuth2.0 를 추가해 인증, 인가 과정을 추가한다고 가정하자.
      • [숙제] api-gateway 에서 다른 서비스에게 해당 유저가 인증, 인가 완료된 사용자임을 어떻게 전달할 것인가?
      • 이전 프로젝트 참고 에서는 api-gateway 를 통해 요청을 전달받는 서비스에
        • 인터셉터를 구현해서, authority 혹은 scope 를 검사하는 로직을 도입했다.
This post is licensed under CC BY 4.0 by the author.