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 ...
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: