Dimensionamento de clusters autônomos do Service Fabric
Um cluster do Service Fabric é um conjunto ligado à rede de máquinas virtuais ou físicas, no qual os microsserviços são implementados e geridos. Uma máquina ou VM que faz parte de um cluster é chamada de nó. Os clusters podem conter potencialmente milhares de nós. Depois de criar um cluster do Service Fabric, você pode dimensioná-lo horizontalmente (alterar o número de nós) ou verticalmente (alterar os recursos dos nós). Você pode dimensionar o cluster a qualquer momento, mesmo quando as cargas de trabalho estão em execução no cluster. À medida que o cluster é dimensionado, seus aplicativos também são dimensionados automaticamente.
Por que dimensionar o cluster? O aplicativo exige mudanças ao longo do tempo. Talvez seja necessário aumentar os recursos do cluster para atender ao aumento da carga de trabalho do aplicativo ou do tráfego de rede ou diminuir os recursos do cluster quando a demanda cair.
Dimensionamento para dentro e para fora ou dimensionamento horizontal
Altera o número de nós no cluster. Depois que os novos nós ingressam no cluster, o Gerenciador de Recursos de Cluster move os serviços para eles, o que reduz a carga nos nós existentes. Você também pode diminuir o número de nós se os recursos do cluster não estiverem sendo usados de forma eficiente. À medida que os nós saem do cluster, os serviços saem desses nós e a carga aumenta nos nós restantes. Reduzir o número de nós em um cluster em execução no Azure pode economizar dinheiro, já que você paga pelo número de VMs que usa e não pela carga de trabalho nessas VMs.
- Vantagens: Escala infinita, em teoria. Se seu aplicativo foi projetado para escalabilidade, você pode habilitar o crescimento ilimitado adicionando mais nós. As ferramentas em ambientes de nuvem facilitam a adição ou remoção de nós, por isso é fácil ajustar a capacidade e você paga apenas pelos recursos que usa.
- Desvantagens: Os aplicativos devem ser projetados para escalabilidade. Os bancos de dados de aplicativos e a persistência também podem exigir trabalho de arquitetura adicional para serem dimensionados. No entanto, coleções confiáveis nos serviços stateful do Service Fabric facilitam muito o dimensionamento dos dados do aplicativo.
Os clusters autônomos permitem que você implante o cluster do Service Fabric no local ou no provedor de nuvem de sua escolha. Os tipos de nó são compostos por máquinas físicas ou virtuais, dependendo da sua implantação. Em comparação com clusters em execução no Azure, o processo de dimensionamento de um cluster autônomo é um pouco mais envolvido. Você deve alterar manualmente o número de nós no cluster e, em seguida, executar uma atualização de configuração do cluster.
A remoção de nós pode iniciar várias atualizações. Alguns nós são marcados com IsSeedNode=”true”
tag e podem ser identificados consultando o manifesto do cluster usando Get-ServiceFabricClusterManifest. A remoção de tais nós pode levar mais tempo do que outros, uma vez que os nós semente terão que ser movidos em tais cenários. O cluster deve manter um mínimo de três nós do tipo de nó primário.
Aviso
Recomendamos que você não diminua a contagem de nós abaixo do Tamanho do Cluster da Camada de Confiabilidade do cluster. Isso interferirá na capacidade dos Serviços do Sistema Service Fabric de serem replicados no cluster e desestabilizará ou possivelmente destruirá o cluster.
Ao dimensionar um cluster autônomo, lembre-se das seguintes diretrizes:
- A substituição de nós primários deve ser realizada um nó após o outro, em vez de remover e adicionar lotes.
- Antes de remover um tipo de nó, verifique se há algum nó fazendo referência ao tipo de nó. Remova esses nós antes de remover o tipo de nó correspondente. Depois que todos os nós correspondentes forem removidos, você poderá remover o NodeType da configuração do cluster e iniciar uma atualização de configuração usando Start-ServiceFabricClusterConfigurationUpgrade.
Para obter mais informações, consulte Dimensionar um cluster autônomo.
Dimensionamento para cima e para baixo ou dimensionamento vertical
Altera os recursos (CPU, memória ou armazenamento) dos nós no cluster.
- Vantagens: A arquitetura de software e aplicativos permanece a mesma.
- Desvantagens: Escala finita, uma vez que há um limite para o quanto você pode aumentar os recursos em nós individuais. Tempo de inatividade, porque você precisará colocar máquinas físicas ou virtuais offline para adicionar ou remover recursos.
Próximos passos
- Saiba mais sobre a escalabilidade do aplicativo.
- Dimensione um cluster do Azure para dentro ou para fora.
- Dimensione um cluster do Azure programaticamente usando o SDK de computação fluente do Azure.
- Dimensione um cluster autônomo para dentro ou para fora.