Apigee Edge의 Node.js 개요

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

Node.js API를 Apigee Edge에 호스팅하여 API 프록시가 대상 서비스로 호출할 수 있습니다.

Apigee Edge에서 Node.js가 지원되므로 Node.js에서 프록시에 맞춤설정된 백엔드 서비스를 빌드할 수 있습니다. 기본적으로 Apigee Edge는 Apigee 조직 및 환경으로 범위가 지정된 런타임 환경에서 Node.js 코드를 호스팅합니다. 동일한 조직 및 환경에 배포된 API 프록시는 Node.js 애플리케이션이 노출하는 HTTP 기반 API를 호출할 수 있습니다.

Node.js 배포 옵션

Apigee는 Node.js 코드를 호스팅하는 데 호스팅된 대상기존 Node.js Edge 배포 환경이라는 두 가지 옵션을 제공합니다.

호스팅된 대상에 배포

호스팅된 대상을 사용하면 Apigee 관련 런타임 기술에 종속되지 않는 기본 환경에서 Node.js 애플리케이션을 실행할 수 있습니다. 기본 노드 런타임을 제공하므로 즐겨 찾는 노드 패키지를 사용할 수 있습니다.

앱을 배포하기 전에 로컬에서 디버그 및 테스트할 수 있으며 배포된 버전이 로컬에서와 동일하게 작동합니다. 배포 시 호스팅된 대상에서 애플리케이션을 실행할 때 사용할 애플리케이션 런타임 버전을 선택할 수 있습니다. 예를 들어 구체적으로 Node.js 앱을 v8.10.0 환경 또는 다른 버전에서 실행할 수 있습니다.

다음 그림은 기본 아키텍처를 보여줍니다.

호스팅된 대상 런타임 환경은 Apigee 조직 및 환경으로 지정되며, 동일한 조직 및 환경에 배포된 모든 API 프록시의 대상으로 사용될 수 있습니다.

삽입된 기존 Node.js 환경에 배포

Edge에 Node.js를 배포하는 전통적인 접근 방식은 (Trireme)이라는 오픈소스 브리지 애플리케이션과 Rhino라는 JavaScript 인터프리터를 내부적으로 사용합니다. 이러한 구성요소를 통해 Node.js 코드를 Edge 자바 런타임 환경에서 직접 실행할 수 있습니다.

기존의 삽입된 Node.js 런타임 환경은 Apigee 조직 및 환경으로 지정되며, 동일한 조직 및 환경에 배포된 모든 API 프록시의 대상으로 사용될 수 있습니다.

이 방법을 사용하면 apigee-access라는 지원 모듈을 사용하여 Node.js 애플리케이션 코드 내에서 API 프록시 흐름 변수, 캐시, 키-값 맵, 할당량에 액세스할 수 있습니다.

Node.js 접근 방식 선택

Apigee에서는 호스팅된 대상을 사용하는 것이 좋습니다. 호스팅 대상에 배포된 Node.js 앱은 Apigee 관련 Node.js 런타임 기술에 의존하지 않습니다. Node.js 앱은 로컬 개발 환경에서 실행되는 것과 정확히 동일하게 호스팅된 대상에서 실행됩니다.

또한 기존 Node.js Edge 배포에 대한 Apigee 지원에는 다음과 같은 제한사항이 있습니다.

  • 이전 버전의 Node.js (0.10.32)만 지원됩니다.
  • 표준 Node.js 환경과 Trireme/Rhino 환경의 동작에는 미묘한 차이가 있습니다.
  • Edge에 배포된 Node.js 앱을 디버깅하는 것은 어렵습니다.

현재 Hosted Target은 흐름 변수와 같은 프록시 흐름 컨텍스트의 리소스에 액세스하기 위한 apigee-access 사용을 지원하지 않습니다.

기존 Node.js Edge 배포에 대한 자세한 내용은 Edge에 기존 Node.js 배포를 참조하세요.

사용 사례

Edge 기반 Node.js의 일반적인 사용 사례는 다음과 같습니다.

  • 고도로 맞춤화된 독립형 HTTP 기반 API 및 백엔드 서비스 빌드

  • 스크립트 가능한 대상 엔드포인트를 활용하여 복잡한 모바일 최적화 문제 해결

  • 복합 서비스 및 매시업 빌드

  • Express와 같은 프레임워크를 사용하여 새로운 API의 프로토타입을 신속하게 개발합니다.

다음 단계

어떤 Node.js 배포 접근 방식이 가장 적합한지 결정하려면 개요를 읽어보세요.