Antipatrón: Define varios ProxyEndpoints en un proxy de API

Estás viendo la documentación de Apigee y Apigee Hybrid.
Consulta la documentación de Apigee Edge.

La configuración de ProxyEndpoint define la manera en que las aplicaciones de cliente consumen las API a través de Apigee. ProxyEndpoint define la URL del proxy de API y el comportamiento de un proxy: a qué políticas aplicar y a qué extremos de destino se debe enrutar, y las condiciones que se deben cumplir para que se ejecuten estas políticas o reglas de enrutamiento que se deben ejecutar.

En resumen, la configuración de ProxyEndpoint define todo lo que se debe hacer para implementar una API.

Antipatrón

Un proxy de API puede tener uno o más extremos del proxy. Definir varios ProxyEndpoints es un mecanismo fácil y simple para implementar varias API en un solo proxy. Esto te permite reutilizar políticas o lógica empresarial antes y después de la invocación de un TargetEndpoint.

Por otro lado, cuando defines varios ProxyEndpoints en un solo proxy de API, comienzas a combinar de manera conceptual varias API no relacionadas en un solo artefacto. Hace que los proxies de API sean más difíciles de leer, comprender, depurar y mantener. Esto elimina la filosofía principal de los proxies de API, lo que facilita la creación y el mantenimiento de las API para los desarrolladores.

Impacto

Varios ProxyEndpoints en un proxy de API pueden hacer lo siguiente:

  • Dificultar que los desarrolladores comprendan y mantengan el proxy de la API.
  • Ofuscar estadísticas. De forma predeterminada, los datos de estadísticas se agregan a nivel del proxy. No existe un desglose de métricas por extremo de proxy, a menos que crees informes personalizados.
  • Dificultar la solución de problemas con los proxies de API.

Práctica recomendada

Cuando implementes un proxy de API nuevo o rediseñes un proxy de API existente, usa las siguientes recomendaciones:

  1. Implementa un proxy de API con un solo ProxyEndpoint.
  2. Si hay varias API que comparten un servidor de destino común o requieren la misma lógica previa o posterior a la invocación del servidor de destino, considera usar flujos compartidos para implementar esa lógica en diferentes proxies de API.
  3. Si hay varias API que comparten una ruta base de inicio común, pero tienen diferentes sufijos, usa flujos condicionales en un solo ProxyEndpoint.
  4. Si existe un proxy de API con varios ProxyEndpoints, y si no hay problemas con él, no es necesario que realices ninguna acción.

El uso de un ProxyEndpoint por proxy de API da como resultado lo siguiente:

  1. Es más simple y fácil mantener los proxies.
  2. Se proporcionará información más precisa en Analytics, como el rendimiento del proxy y el tiempo de respuesta objetivo, en lugar de implementarse para todos los ProxyEndpoints.
  3. Solución de problemas más rápida y resolución de errores.

Lecturas adicionales