문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
msa:api_gateway_pattern [2022/08/17 11:10] kwon37xi |
msa:api_gateway_pattern [2022/09/05 00:08] (현재) kwon37xi [MSA - API Gateway Pattern] |
||
---|---|---|---|
줄 2: | 줄 2: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * [[msa: | + | |
+ | | ||
* [[msa: | * [[msa: | ||
+ | |||
+ | ===== Netflix GraphQL 로의 진화 / Evolution of an API Architecture ===== | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | {{https:// | ||
+ | ===== Netflix의 Client Serving Server ===== | ||
+ | * Web Browser 혹은 App 등이 접속하는 서버를 API Gateway 로 만들면 안된다. | ||
+ | * Client Server Adapter Code Server 를 두고 거기서 Client 에게 필요한 정보를 backend service 에 비동기/ | ||
+ | * API Gateway 는 이 때 Client Server Adapter 보다 더 앞에서 Client 의 요청을 받아서 처리한다. | ||
+ | * Netflix 는 Client 의 종류가 TV, PC, Android, iOS 등 너무 다양해서 API Gateway 를 통해서 요청을 받지만 현재 일반적인 서비스는 그런식으로 만드는 경우가 거의 없어서 **실질적으로 API Gateway는 필요가 없다** | ||
+ | * 꼭 API Gateway 가 필요하다면 무조근 API Gateway 에 접속하는 사용자와 그 backend API의 사용자의 인증체계가 동일해야 한다. 그렇지 않으면 권한 필터링을 잘못하면 backend API의 중요 정보가 비록 로그인 사용자에게라도 다 노출되게 된다. ''/ | ||
+ | * Client Adapter Code 에서는 ''/ | ||
+ | * FAQ : 인증/ | ||
+ | * 아니다, backend API는 자기 본분에 충실해야 한다. | ||
+ | * 또한, 인증 체계는 하나의 시스템에 2~3개씩 존재할 수 있다.(일반 사용자, admin, 제 3의 상품 제공업체 등) | ||
+ | * 이 모든 인증 체계에 대해 모든 backend API가 인증/ | ||
+ | * 또한 신규 인증 체계 추가시에도 모든 backend API가 이에 대한 처리를 추가해야 한다. | ||
+ | * 인증 체계 별로 Client Adapter 를 따로 만들고 거기서 일관되게 인증/ | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
===== 참조 ===== | ===== 참조 ===== | ||
* [[https:// | * [[https:// | ||