Acerca dos ambientes

Um ambiente oferece um contexto isolado ou uma "sandbox" para executar proxies de API. Numa única organização, pode criar vários ambientes. Para mais informações, consulte o artigo Acerca dos ambientes e dos grupos de ambientes.

O código seguinte mostra um exemplo de configuração de substituições onde estão definidos vários ambientes. Tenha em atenção que os ambientes prod e test têm aliases de anfitrião diferentes:

namespace: my-namespace
org: my-organization
...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json

  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...
  • Adicione uma propriedade virtualhosts que mapeie o respetivo routingRules para os ambientes.
    virtualhosts:
      - name: default
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: test
    virtualhosts:
      - name: external
        hostAliases: ["apiprod.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: prod

    Suponhamos que um proxy com o caminho base /foo1 é implementado no ambiente test. Pode chamar o proxy da seguinte forma:

    curl -k https://api.example.com/foo1

    Quando esta chamada atinge a entrada, a entrada sabe que a deve enviar para o processador de mensagens associado ao ambiente test, que processa o pedido.

    Da mesma forma, se foo1 também estiver implementado no ambiente prod, pode fazer um pedido de proxy da seguinte forma para o alias de anfitrião apiprod.mydomain.net:

    curl -k https://apiprod.example.com/foo1

    A chamada é encaminhada pela entrada para o MP associado a esse anfitrião.

    Antipattern: implemente todos os seus proxies num ambiente híbrido.

    Prática recomendada: crie vários ambientes e implemente um número limitado de proxies em cada um deles. Pode criar regras de encaminhamento que especificam os ambientes para os quais encaminhar caminhos base de proxy de API específicos. Para ver detalhes, consulte o artigo Configuração do anfitrião virtual.

    Limite o número de implementações de proxy

    Para o híbrido, o facto de muitos ambientes poderem partilhar o mesmo anfitrião virtual significa que tem de pensar cuidadosamente na forma como gere as implementações de proxy em qualquer ambiente específico. No modo híbrido, a prática recomendada é criar vários ambientes e implementar um número limitado de proxies em cada um.

    Quantos proxies deve implementar num ambiente? Não existe uma resposta definida para esta pergunta. No entanto, a tabela seguinte fornece orientações gerais sobre o motivo pelo qual é uma boa ideia limitar o número de proxies implementados em cada ambiente e o que tem de ter em atenção ao gerir implementações de proxies:

    Problema a considerar Descrição
    Tempo de arranque do processador de mensagens Existe uma correlação direta entre o tempo que um processador de mensagens (MP) demora a arrancar e o número de proxies implementados nesse MP. Num ambiente do Kubernetes com escala automática, um aumento no tempo de arranque pode ser um problema. Quanto mais proxies forem implementados no MP, mais tempo demorará a que esse MP seja apresentado se precisar de ser dimensionado ou recriado.
    Desempenho de escalabilidade Se tiver vários proxies implementados num ambiente e um dos proxies receber muito tráfego, de modo que seja frequentemente dimensionado automaticamente, todos os proxies nesse ambiente são dimensionados com ele. O efeito no desempenho da expansão de vários proxies com um único proxy de tráfego elevado pode ser um problema.
    Vizinho ruidoso Se tiver vários proxies implementados no mesmo ambiente e um proxy falhar, todos os proxies no ambiente são desativados enquanto os MPs são reiniciados. Ao limitar o número de proxies implementados num ambiente, minimiza o impacto de uma falha de um único proxy.

    Referência de configuração do ambiente

    Para ver uma lista completa de elementos de configuração do ambiente, consulte envs na Referência da propriedade de configuração.

    Trabalhar com ambientes

    Para mais informações sobre a configuração, consulte os seguintes tópicos: