본문 바로가기

MicroService Architecture/Microservice Design Pattern

마이크로서비스 구성을 위한 필수 소프트웨어

마이크로서비스에 필요한 기능을 제공하고 관련된 문제 해결에 도움을 주는 다양한 오픈 소스 도구가 있다.

 

- 스프링부트

- 스프링 클라우드/넷플릭스 OSS

- 도커

- 쿠버네티스

- 이스티오(서비스메시)

 

각 디자인패턴과 디자인패턴을 구현한 오픈 소스 도구를 정리한 표

 

디자인 패턴 스프링 부트 스프링 클라우드 쿠버네티스 이스티오
서비스 검색   넷플릭스 유레카(Eureka)와 넷플릭스 리본(Ribbon) 쿠버네티스의 kube-proxy와 서비스(Service)리소스  
에지 서버   스프링 클라우드와 스프링 시큐리티 OAuth (Spring Security OAuth) 쿠버네티스의 인그레스 컨트롤러 (Ingress Controller) 이스티오의 인그레스 게이트웨이
리액티브 마이크로서비스 스프링 리액터 (Spring Reactor)와 스프링 웹플럭스 (Spring WebFlux)      
구성 중앙화   스프링 컨피그 서버(Spring config Server) 쿠버네티스의 컨피그 맵(ConfigMap)과 시크릿(Secret)  
로그 분석 중앙화     일라스틱서치(Elasticsearch), 플루언티드(Fluentd), 키바나(Kibana)
참고: 쿠버네티스에 종속되진 않지만 쿠버네티스에 쉽게 배포하고 구성
 
분산 추적   스프링 클라우드 슬루스(Sleuth)와 집킨(Zipkin)   예거(Jaeger)
서킷 브레이커   Resilience4j   이상 감지
(Outlier detection)
제어 루프     쿠버네티스의 컨트롤 매니저
(Controller manager)
 
모니터링 및 경고 중앙화     Grafana와 prometheus
참고: 쿠버네티스에 종속되진 않지만 쿠버네티스에 쉽게 배포하고 구성
키알라(Kiali), Grafana, Prometheus

'MicroService Architecture > Microservice Design Pattern' 카테고리의 다른 글

모니터링 및 경고 중앙화  (0) 2021.03.06
제어 루프 (Control loop)  (0) 2021.03.06
서킷 브레이커 (Circuit Breaker)  (0) 2021.03.06
분산 추적  (0) 2021.03.06
로그 분석 중앙화  (0) 2021.03.05