Antipadrão: defina vários ProxyEndpoints em um proxy de API

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

A configuração de ProxyEndpoint define a maneira como os apps clientes consomem as APIs por meio do Apigee Edge. O ProxyEndpoint define o URL do proxy da API e como um proxy se comporta: quais políticas serão aplicadas e em quais endpoints de destino serão roteados, e as condições que precisam ser atendidas para que essas políticas ou regras de rota sejam executadas.

Em resumo, a configuração de ProxyEndpoint define tudo o que precisa ser feito para implementar uma API.

Antipadrão

Um proxy de API pode ter um ou mais endpoints de proxy. Definir vários ProxyEndpoints é um mecanismo simples e fácil para implementar várias APIs em apenas um proxy. Isso permite que você reutilize as políticas e/ou a lógica de negócios antes e depois da invocação de um TargetEndpoint.

Por outro lado, ao definir vários ProxyEndpoints em apenas um proxy de API, você acabará combinando diversas APIs não relacionadas em um único artefato. Isso dificulta a leitura, a compreensão, a depuração e a manutenção dos proxies da API. Ou seja, a principal filosofia dos proxies da API vai por água abaixo: facilitar a criação e a manutenção de APIs para os desenvolvedores.

Impacto

Vários ProxyEndpoints em um proxy de API podem trazer os seguintes problemas:

  • Dificultar a compreensão e a manutenção dos desenvolvedores no proxy da API.
  • Ofuscar a análise. Por padrão, os dados de análise são agregados no nível do proxy. Não há detalhamento de métricas por endpoint de proxy, a menos que você crie relatórios personalizados.
  • Dificultar a solução de problemas com proxies de API.

Prática recomendada

Ao implementar um novo proxy de API ou reprojetar um proxy de API existente, use as seguintes práticas recomendadas:

  1. Implemente um proxy de API com apenas um ProxyEndpoint.
  2. Se houver várias APIs que compartilham o servidor de destino comum e/ou exigir a mesma lógica antes ou depois da invocação do servidor de destino, use os fluxos compartilhados para implementar essa lógica em diferentes proxies da API.
  3. Se houver várias APIs que compartilham um caminho base comum, mas são diferentes no sufixo, use fluxos condicionais em apenas um ProxyEndpoint.
  4. Se houver um proxy de API com vários ProxyEndpoints e se não houver problemas com ele, nenhuma ação será necessária.

Usar um ProxyEndpoint por proxy da API melhora os pontos a seguir:

  1. Torna os proxies mais simples e fáceis de manter.
  2. Algumas informações melhores no Analytics, como desempenho do proxy e tempo de resposta de destino, serão registradas separadamente, em vez de serem agrupadas para todos os ProxyEndpoints.
  3. Agiliza a solução de problemas.

Leia mais