마이크로서비스에 필요한 기능을 제공하고 관련된 문제 해결에 도움을 주는 다양한 오픈 소스 도구가 있다.
- 스프링부트
- 스프링 클라우드/넷플릭스 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 |