안티패턴: API 프록시에서 여러 ProxyEndpoint 정의

Apigee X 문서를 보고 있습니다.
Apigee Edge 문서 보기

ProxyEndpoint 구성은 클라이언트 앱이 Apigee를 통해 API를 사용하는 방법을 정의합니다. ProxyEndpoint는 API 프록시의 URL과 프록시 작동 방식을 정의합니다. 여기서 적용할 정책, 라우팅할 대상 엔드포인트, 이러한 정책 또는 라우팅 규칙을 실행하기 위해 충족해야 하는 조건 등이 정의됩니다.

간단히 말해 ProxyEndpoint 구성은 API 구현을 위해 수행해야 하는 모든 것을 정의합니다.

안티패턴

API 프록시에는 하나 이상의 프록시 엔드포인트가 있을 수 있습니다. 여러 ProxyEndpoint를 정의하는 것은 단일 프록시에서 여러 API를 구현하기 위한 쉽고 간단한 메커니즘입니다. 이렇게 하면 TargetEndpoint 호출 전 후에 정책 또는 비즈니스 로직을 재사용할 수 있습니다.

반면 단일 API 프록시에서 여러 ProxyEndpoint를 정의하면 관련 없는 API 여러 개가 단일 아티팩트로 개념적으로 결합됩니다. 이는 API 프록시의 읽기, 이해, 디버그, 유지관리를 어렵게 합니다. 이로 인해 API 프록시의 기본 철학이 사라지기 때문에 개발자가 API를 손쉽게 만들고 유지관리할 수 있습니다.

영향

한 API 프록시의 여러 ProxyEndpoint는 다음을 야기할 수 있습니다.

  • 개발자가 API 프록시를 이해하고 유지관리하기 어려워집니다.
  • 분석이 난독화됩니다. 기본적으로 분석 데이터는 프록시 수준에서 집계됩니다. 커스텀 보고서를 만들지 않으면 프록시 엔드포인트로 측정항목을 분석하지 않습니다.
  • API 프록시의 문제를 해결하기 어려워집니다.

권장사항

새로운 API 프록시를 구현하거나 기존 API 프록시를 다시 설계할 때 다음 권장사항을 따르세요.

  1. 단일 ProxyEndpoint로 API 프록시 1개를 구현합니다.
  2. 공통 대상 서버를 공유하는 API가 여러 개 있거나 대상 서버 호출 전 또는 호출 후 동일한 로직이 필요한 경우 공유 흐름을 사용하여 여러 API 프록시에서 로직을 구현하는 것이 좋습니다.
  3. 공통 시작 기본 경로를 공유하지만 서픽스가 다른 API가 여러 개 있는 경우 단일 ProxyEndpoint에서 조건부 흐름을 사용합니다.
  4. 여러 ProxyEndpoint가 있는 API 프록시가 있고 문제가 없다면 아무런 조치를 취하지 않아도 됩니다.

API 프록시당 하나의 ProxyEndpoint를 사용하면 다음과 같이 됩니다.

  1. 더욱 간편하고 쉬운 프록시 유지관리
  2. 모든 ProxyEndpoint에 롤업되는 대신 별도로 보고되는 애널리틱스의 더 나은 정보(프록시 성능, 목표 응답 시간 등)
  3. 빠른 문제 해결 및 문제 해결

추가 자료