Print
카테고리: [ Cloud Computing & MSA ]
조회수: 29622

1. API Gateway (or API Management)

API Gateway는 API Management의 일부 기능이라고 할 수 있다.

API Management 제품이 갖는 특성은 다음과 같다.


2. Zuul ?

MSA(MicroService Architecture)에서 Zuul은 API Gateway 또는 API Service, Edge Service 로 정의된다. Zuul은 예상하지 못한 다양한 형태 그리고 많은 요청에 따른 트래픽에 대해 신속하게 대응하기 위해 개발되었다. 그리고 Zuul은 groovy 언어로 작성된 다양한 형태의 Filter를 실행하는데, Filter에 기능을 정의하고 이슈 발생 시 적절한 Filter를 추가함으로써 이슈에 대비할 수 있도록 한다. 이렇게 Filter를 추가함으로써 자신만의 API Gateway를 만들 수 있다.

Java를 잘 다룰 줄 안다면, Zuul로 세세한 부분까지 커스터마이즈해서 사용하기 용이하다. Zuul 2.0에서는 Netty 기반의 Non-blocking을 지원한다. 


3. Netflix에서의 Zuul?

: JVM-based router and Server-side load balancer

Zuul is the front door for all requests from devices and web sites to the backend of the Netflix streaming application. As an edge service application, Zuul is built to enable dynamic routing, monitoring, resiliency and security. It also has the ability to route requests to multiple Amazon Auto Scaling Groups as appropriate.  - From Netflix wiki

4. Netflix Filter의 기능

 


5. 버전 별 Filter

5.1. Zuul

5.2. Zuul 2.0


6. Zuul을 도입한 아키텍처 예시


7. 기타 오픈 소스 API 제품

Zuul과 같은 오픈 소스 계열의 API 제품 들이다.