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 máquina virtual (VM) que faz parte de um cluster é designada como nó do cluster. Os clusters podem conter potencialmente milhares de nós. Depois de criar um cluster Service Fabric, pode escalar o cluster horizontalmente, o que altera o número de nós, ou verticalmente, o que altera 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.

Escalonamento para dentro e para fora ou escalonamento horizontal

Altera o número de nós no cluster. Assim que os novos nós se juntam ao cluster, o Gestor de Recursos do Cluster transfere os serviços para eles, o que reduz a carga sobre os nós existentes. Também podes diminuir o número de nós se os recursos do cluster não estiverem a ser 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 implementaçã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 nós, uma vez que os nós-semente terão que ser redistribuídos 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 não reduza o número de nós abaixo do Tamanho do Cluster do Nível de Fiabilidade do cluster. Fazê-lo irá interferir com a capacidade dos Service Fabric System Services de serem replicados por todo o cluster, desestabilizando ou possivelmente destruindo 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, ao invés de remover e adicionar em lotes.
  • Antes de remover um tipo de nó, verifique se há algum nó fazendo referência ao tipo de nó. Remova estes 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.

Escalabilidade ascendente e descendente, ou escalabilidade 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