And Brain said,
MSA | Netflix OSS로 보는 MSA의 골격 본문
오늘은 Netflix OSS를 통해 MSA 골격의 한 예시를 키워드별로 간단하게 알아보자.
Service Discovery
마이크로서비스 아키텍처(MSA)로 구성되어 있는 서비스들은 각자 다른 IP와 포트를 가지고 원격 호출을 하는데 클라우드 환경이 점차 주가 되면서 서비스가 동적으로 생성되거나 컨테이너 기반의 배포로 인해 서비스의 IP가 동적으로 변경되는 일이 자주 벌어지게 되었는데, 그래서 이 IP와 포트를 관리하기 위해 이것을 Service Discovery라고 한다.
넷플릭스 OSS에선 Spring Eureka가 담당한다.
Client Side Load Balancer
말그대로 클라이언트 사이드에서 로드 밸런싱을 하는 것인데, 기존 중앙집중화 로드 밸런싱 전략은 로드 밸런서에 문제가 전체 시스템에 문제를 발생시킬 수 있었다.
그리하여 클라이언트 사이드에서 로드 밸런싱을 하는데, 여기서 클라이언트는 MSA 내부 서비스를 호출하는 클라이언트 서비스를 뜻한다.
넷플릭스 OSS에선 Ribbon이 담당한다.
Circuit Breaker
시스템 장애의 유연한 복구를 위해 특정 서비스에 문제가 생겨도 전체 서비스에 그 장애가 전파되지 않도록 차단하는 역할을 한다.
넷플릭스 OSS에선 Hystrix가 담당한다.
API Gateway
말 그대로 API 관문이다.
외부의 모든 요청을 처리하는 단일 진입점으로 인증/인가/로깅 등 필터 처리 후 적절한 서비스로 프록시 혹은 라우팅시켜준다.
이를 통해 사용자들에겐 EndPoint만 노출시킨다.
넷플릭스 OSS에선 Zuul이 담당한다.
Tracing
MSA에선 HTTP 호출 시 내부적으로 여러 개의 서비스를 거쳐서 일어나며 트랜잭션이 여러 컴포넌트의 조합을 통해서 발생하기 때문에 추적이 매우 어렵다.
그리하여 분산 로그 추적 서버가 따로 있어야하는데, 넷플릭스 OSS에선 Zipkin이 담당한다.
Thanks for watching, Have a nice day.
'IT > DevOps \ Architecture' 카테고리의 다른 글
VirtualBox, 광활한 오픈월드 속으로 (0) | 2023.03.10 |
---|---|
불변성(Immutability), 변하지 않는 것 (0) | 2023.02.15 |
Agile 방법론 | Scrum (2) | 2022.10.26 |
쿠키, 세션, 토큰, 캐시, CDN (6) | 2022.10.23 |
Agile 방법론 | 12가지 애자일 원칙 (0) | 2022.10.20 |