API Gateway는 여러 개의 클라이언트와 크고 복잡한 규모의 마이크로서비스 기반 애플리케이션을 만드는 경우에 필요합니다.
이러한 API Gateway는 단일 진입점을 제공하고 분산된 시스템이며 클라이언트와 마이크로서비스들 간에 위치합니다. 또한 클라이언트의 요구 사항을 고려하여 만든 패턴을 BFF(Backends For Frontends : 프론트엔드의 백엔드) 라고 합니다.
API Gateway 패턴에서 중요한 점은 API Gateway를 여러 개의 서비스나 계층으로 분할하는 것입니다. 하나의 API Gateway가 모든 마이크로서비스를 집계하는 구조로 설계되면 모놀리식 아키텍처의 방향성을 띠게 되며 이는 좋지 않습니다.
따라서 API Gateway는 클라이언트의 양식, 팩터 형식마다 하나씩 분할하는 것이 좋습니다.
API Gateway가 없다면 클라이언트는 내부 서비스를 직접 참조하므로 클라이언트 호환이 손상될 수도 있으므로 유지보수에 문제가 생길 수 있습니다. 또 클라이언트에서 서비스를 요청할 때 너무 많은 리소스가 발생하여 대기시간에 지연이 생길 수 있습니다.
보안에서도 내부 서비스가 직접 노출되지 않으므로 애플리케이션을 더욱 안전하게 보호합니다. 그리고 권한 및 SSL 적용에서도 간소화하여 적용할 수 있습니다.
i-ONE API Gateway는 여러개의 클라인어트 관리를 위해 API 서비스 상태를 실시간으로 반영합니다. 메모리, CPU, 디스크 사용률을 모니터링 할 수 있으며, API 요청 별 응답 시간도 실시간으로 모니터링할 수 있습니다.
API 마이크로 서비스를 등록하여 동적으로 관리할 수 있습니다. API 분산 서비스에 있어서 비중을 설정하는 기반으로 로드 밸런스 관리를 할 수 있으며 오류 발생 시 설정된 fallback 서비스를 호출할 수도 있습니다.
그리고 각각의 API 서비스를 일괄적으로 전송하는 가장 핵심적인 라우팅 기능도 제공이 가능하며 API 요청을 백엔드 API Service로 전달하는 기능과 함께 클라이언트별 엔드포인트를 지원하고 URI패턴, Header, Cookie, Method, 유효시간 조건 기반으로 라우팅 할 수 있습니다.
아울러 클라이언트(서버 or 사용자)와 백엔드 API Service 간에 헤더 스펙 차이로 변환이 필요한 경우 변환 기능을 제공합니다.
#APIgateway패턴 #클라이인트서비스 #마이크로서비스 #APIGateway #API라우팅 #이데아텍
API Gateway는 여러 개의 클라이언트와 크고 복잡한 규모의 마이크로서비스 기반 애플리케이션을 만드는 경우에 필요합니다.
이러한 API Gateway는 단일 진입점을 제공하고 분산된 시스템이며 클라이언트와 마이크로서비스들 간에 위치합니다. 또한 클라이언트의 요구 사항을 고려하여 만든 패턴을 BFF(Backends For Frontends : 프론트엔드의 백엔드) 라고 합니다.
API Gateway 패턴에서 중요한 점은 API Gateway를 여러 개의 서비스나 계층으로 분할하는 것입니다. 하나의 API Gateway가 모든 마이크로서비스를 집계하는 구조로 설계되면 모놀리식 아키텍처의 방향성을 띠게 되며 이는 좋지 않습니다.
따라서 API Gateway는 클라이언트의 양식, 팩터 형식마다 하나씩 분할하는 것이 좋습니다.
API Gateway가 없다면 클라이언트는 내부 서비스를 직접 참조하므로 클라이언트 호환이 손상될 수도 있으므로 유지보수에 문제가 생길 수 있습니다. 또 클라이언트에서 서비스를 요청할 때 너무 많은 리소스가 발생하여 대기시간에 지연이 생길 수 있습니다.
보안에서도 내부 서비스가 직접 노출되지 않으므로 애플리케이션을 더욱 안전하게 보호합니다. 그리고 권한 및 SSL 적용에서도 간소화하여 적용할 수 있습니다.
i-ONE API Gateway는 여러개의 클라인어트 관리를 위해 API 서비스 상태를 실시간으로 반영합니다. 메모리, CPU, 디스크 사용률을 모니터링 할 수 있으며, API 요청 별 응답 시간도 실시간으로 모니터링할 수 있습니다.
API 마이크로 서비스를 등록하여 동적으로 관리할 수 있습니다. API 분산 서비스에 있어서 비중을 설정하는 기반으로 로드 밸런스 관리를 할 수 있으며 오류 발생 시 설정된 fallback 서비스를 호출할 수도 있습니다.
그리고 각각의 API 서비스를 일괄적으로 전송하는 가장 핵심적인 라우팅 기능도 제공이 가능하며 API 요청을 백엔드 API Service로 전달하는 기능과 함께 클라이언트별 엔드포인트를 지원하고 URI패턴, Header, Cookie, Method, 유효시간 조건 기반으로 라우팅 할 수 있습니다.
아울러 클라이언트(서버 or 사용자)와 백엔드 API Service 간에 헤더 스펙 차이로 변환이 필요한 경우 변환 기능을 제공합니다.
#APIgateway패턴 #클라이인트서비스 #마이크로서비스 #APIGateway #API라우팅 #이데아텍