Estratégia de balanceamento de carga do Azure

2

Atualmente, estou desenvolvendo uma pequena implantação da Web usando instâncias de VM no MS Azure. O principal problema que estou enfrentando no momento é tentar descobrir como obter o balanceamento de carga para detectar se uma determinada VM falhou e não direcionar o tráfego para essa VM.

Até onde eu sei, existem apenas duas opções de balanceamento de carga:

  1. Ter várias VMs (web01, web02, web03 etc.) dentro do mesmo 'serviço de nuvem' por trás de um único VIP e configurar os pontos de extremidade para serem balanceados por carga.

  2. Crie vários 'serviços em nuvem', coloque uma única VM da Web em cada um deles e crie um serviço de gerenciamento de tráfego em todos esses serviços.

Parece que (1) é extremamente simplista e não tenta fazer nenhuma detecção de falha de host.

(2) parece ser muito mais variado, mas exige que eu coloque todos os meus servidores web em seu próprio serviço de nuvem individual. O gerenciador de tráfego parece estar muito mais direcionado a um cenário de failover geográfico, no qual você tem vários serviços de nuvem em diferentes regiões. Essa abordagem também tem a desvantagem de meus servidores da Web não conseguirem se comunicar com meus bancos de dados em endereços IP internos, ao contrário do cenário (1).

Qual é a melhor abordagem aqui?

    
por growse 29.10.2012 / 12:56

1 resposta

3

Cada VM do serviço de nuvem possui um agente de convidado (GA) instalado, que monitora a integridade da VM. Se um GA não responder, o Fabfic Controller (FC) reinicializará a VM. No caso de falha de hardware, o FC moverá a instância de função para um novo nó de hardware e reprogramará a configuração de rede das instâncias de função de serviço para restaurar o serviço à disponibilidade total.

Editar: os agentes convidados são usados apenas em PaaS. IaaS (suas VMs no Azure) não têm agentes convidados.

    
por 01.11.2012 / 23:11