Reconfiguração no Azure Service Fabric
Uma configuração é definida como as réplicas e suas funções para uma partição de um serviço com monitoração de estado.
Uma reconfiguração é o processo de mover uma configuração para outra. Ele faz uma alteração no conjunto de réplicas para uma partição de um serviço com monitoração de estado. A configuração antiga é chamada de configuração anterior (PC), e a nova configuração é chamada de configuração atual (CC). O protocolo de reconfiguração no Azure Service Fabric preserva a consistência e mantém a disponibilidade durante quaisquer alterações no conjunto de réplicas.
O Gerenciador de Failover inicia reconfigurações em resposta a diferentes eventos no sistema. Por exemplo, se o primário falhar, uma reconfiguração será iniciada para promover um secundário ativo para um primário. Outro exemplo é em resposta a atualizações de aplicativos quando pode ser necessário mover o principal para outro nó a fim de atualizar o nó.
Tipos de reconfiguração
As reconfigurações podem ser classificadas em dois tipos:
Reconfigurações em que o primário está mudando:
- Failover: Failovers são reconfigurações em resposta à falha de um primário em execução.
- SwapPrimary: Swaps são reconfigurações em que o Service Fabric precisa mover um primário em execução de um nó para outro, geralmente em resposta ao balanceamento de carga ou a uma atualização.
Reconfigurações em que o primário não está mudando.
Fases de reconfiguração
Uma reconfiguração processa-se em várias fases:
Fase0: Esta fase acontece em reconfigurações primárias de swap em que o primário atual transfere seu estado para o novo primário e transita para o secundário ativo.
Fase1: Esta fase acontece durante as reconfigurações em que o primário está mudando. Durante essa fase, o Service Fabric identifica o primário correto entre as réplicas atuais. Esta fase não é necessária durante as reconfigurações primárias de permuta porque o novo primário já foi escolhido.
Fase2: Durante essa fase, o Service Fabric garante que todos os dados estejam disponíveis na maioria das réplicas da configuração atual.
Existem várias outras fases que são apenas para uso interno.
Reconfigurações bloqueadas
As reconfigurações podem ficar bloqueadas por vários motivos. Algumas das razões comuns incluem:
- Réplicas inativas: algumas fases de reconfiguração exigem que a maioria das réplicas na configuração esteja ativada.
- Problemas de rede ou comunicação: as reconfigurações exigem conectividade de rede entre nós diferentes.
- Falhas de API: o protocolo de reconfiguração requer que as implementações de serviço concluam determinadas APIs. Por exemplo, não honrar o token de cancelamento em um serviço confiável faz com que as reconfigurações do SwapPrimary fiquem presas.
Use relatórios de integridade de componentes do sistema, como System.FM, System.RA e System.RAP, para diagnosticar onde uma reconfiguração está bloqueada. A página do relatório de integridade do sistema descreve esses relatórios de integridade.
Próximos passos
Para obter mais informações sobre conceitos do Service Fabric, consulte os seguintes artigos: