티스토리 뷰
MSA와 Netflix
MSA (MicroService Architecture) 를 말한다면 성공사례로 Netflix 를 빼놓을 수 없다.
사실 MSA 1세대는 대부분 Netflix의 아키텍쳐를 따라간다.
이후 컨테이너라는 기술이 나오면서 트렌드가 바뀌긴 했지만 Netflix는 자신들만의 기술들을 잘 구축했으니 한번 살펴보자
Netflix는 이런 MSA 구성을 위한 오픈소스들도 http://netflix.github.io/ 에 공개해놓았으니
우리들은 잘 구성해놓은 기술들을 잘 사용만 하면 된다.
MSA 구성을 위해 Netflix가 공개해놓은 기술 스택에 대해서 알아본다.
MSA 구성 시 고려사항
MSA 를 구성하려면 몇가지 고려사항이 있다.
아래 그림처럼 기존 Monolothic 구조를 Microservice로 분리했다고 보자.
[그림1] Microservice Architecture 전환 구성 예제
위 그림을 보면 서비스들을 분리하긴 했지만 그래서..? 의문점이 한 두가지가 아닐 것이다.
그럼 이 서비스들을 어떻게 한번에 관리하지?
서비스들간의 통신은? 각 서비스들의 URL을 또 관리하나?
각 서비스 자원을 사용하기 위한 인증&권한은 어떻게 처리하지?
이처럼 서비스를 잘 분리하는 것 이외에
분리된 서비스들에 대한 Ochestration, 로그 수집, 트래킹, 라우팅, 인증처리 등을 처리하는 방법이 필요하다.
이런 의문점들을 해결하기 위해서는 VM을 사용하는 환경에서는 Netflix Stack을 고려해봐야 한다.
(추후 Container기반으로 구성할 때 K8S에 대한 내용을 정리해야지)
Netflix Stack?
Netflix 에서 사용되는 기술은 아래와 같다.
Zuul과 Eureka는 MSA 1세대 이후에도 많이 참조가 되는 모듈이므로 숙지하고 넘어가야 한다.
- Zuul - Gateway, 인증, Logging 수집 등
- Eureka - Service Registry
& Discovery - Ribbon - Load Balancing
- Hystrix - Circuit Breaker
- Turbine - Hystrix Stream Aggregator
위 모듈들이 왜 도입되었는지 무슨 역할을 하는지에 대해서 자세히 생각해 볼 필요가 있다.
Zuul의 역할
Eureka의 역할
Ribbon의 역할
Hystrix & Turbine의 역할
'Architecture > MSA' 카테고리의 다른 글
MSA에서의 API Gateway 역할 (0) | 2018.12.20 |
---|---|
[참고] 모노리틱 아키텍쳐(Monolithic Architecture) 란? (0) | 2018.12.20 |
MSA (Micro Service Architecture) 란? (0) | 2018.12.20 |
- Total
- Today
- Yesterday
- Blockchain
- SpringBoot
- 백준
- white paper
- DP
- 사토시 나가모토
- 블록체인
- architecture
- 알고리즘
- leetcode
- Nealford
- 비트코인
- Vue.js
- k8s
- 암호화폐
- vuejs
- 스프링
- CARDANO
- 스프링 시큐리티
- 카르다노
- 아키텍처
- kubernetes
- Redis
- Spring
- 동적계획법
- Java
- Bruteforce
- gRPC
- Bitcoin
- excel parsing
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |