Resolver problemas de escalabilidade na malha de serviço na nuvem
Esta secção explica os problemas comuns do Cloud Service Mesh e como os resolver. Se precisar de assistência adicional, consulte a secção Receber apoio técnico.
Fatores de escalabilidade
O Istiod envia a configuração a cada sidecar através de uma stream gRPC de longa duração. Tem várias caraterísticas que afetam o dimensionamento:
- O tamanho da configuração a gerar:
- Número total de serviços/pods e recursos do Istio
- Para uma grande escala, ajuste as definições do Sidecar para reduzir o tamanho da configuração.
- A taxa de alteração no ambiente:
- Quando é criado um novo serviço ou a configuração do Istio é alterada, são enviadas atualizações completas aos proxies.
- A adição de novos pontos finais é barata para o desempenho, porque apenas são enviadas atualizações incrementais.
- O número de proxies para os quais a configuração é gerada:
- Afetado pelo número de gateways e pods com um sidecar.
Considerações sobre o dimensionamento
O Istiod é bem dimensionado verticalmente (pedidos grandes) e horizontalmente (mais réplicas). Certifique-se de que os limites da CPU não são demasiado restritivos. Se o Istiod atingir o limite da CPU, pode ocorrer uma limitação, o que afeta negativamente a distribuição da configuração. Se tiver problemas de desempenho, pondere atualizar para a versão mais recente da Cloud Service Mesh, uma vez que cada versão tem otimizações de desempenho.
Para mais orientações sobre como dimensionar a sua malha, consulte o guia de práticas recomendadas de escalabilidade.
Carga desequilibrada
As alterações significativas no tamanho do cluster podem causar uma carga temporariamente desequilibrada devido às ligações de longa duração. Isto é mitigado por um tempo máximo de ligação de 30 minutos, o que pode resultar em mensagens de erro no Envoy, como gRPC config stream
closed: 13
, o que permite que a carga seja reequilibrada naturalmente.
Mitigue este problema tendo várias réplicas do Istiod (o valor predefinido é 2 réplicas) e pré-dimensionando se esperar dimensionamentos extremos do cluster.