Apigee Edge의 Node.js 개요

Apigee Edge 문서입니다.
Apigee X 문서로 이동
정보

Apigee Edge에서 Node.js API를 호스팅할 수 있으며, 여기서 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 배포 환경을 제공합니다.

호스팅된 대상에 배포

호스팅된 타겟을 사용하면 Node.js 애플리케이션이 Apigee별 런타임 기술에 종속되지 않는 네이티브 환경에서 실행될 수 있습니다. 기본 노드 런타임을 제공하므로 좋아하는 노드 패키지를 사용할 수 있습니다.

앱을 배포하기 전에 로컬에서 디버그하고 테스트할 수 있으며 배포된 버전이 로컬에서와 똑같이 작동한다는 확신을 가질 수 있습니다. 배포 시 호스팅된 타겟에서 애플리케이션을 실행할 애플리케이션 런타임 버전을 선택할 수 있습니다. 예를 들어 v8.10.0 환경 또는 다른 버전에서 Node.js 앱을 실행하도록 선택할 수 있습니다.

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

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

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

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

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

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

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 앱을 디버그하는 것은 어렵습니다.

현재 호스팅된 타겟은 apigee-access를 사용하여 프록시 흐름 컨텍스트의 리소스(예: 흐름 변수)에 액세스하는 것을 지원하지 않습니다.

기존 Node.js Edge 배포에 관한 자세한 내용은 Edge의 기존 Node.js 배포를 참고하세요.

사용 사례

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

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

  • 스크립트로 작성 가능한 타겟 엔드포인트의 이점을 활용하여 복잡한 모바일 최적화 문제를 해결합니다.

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

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

다음 단계

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