Disponibilidade de tempo inoperante em um frontend de serviço web no EC2?

2

Temos um aplicativo da Web com carga baixa, mas com requisitos de alta disponibilidade. Ele consiste em um único balanceador de carga front-end e dois servidores back-end. O balanceador de carga está lá principalmente para mascarar falhas, não para espalhar a carga.

Os servidores back-end são altamente disponibilizados via replicação em duas Zonas de disponibilidade. Mas como você torna a ponta do front-end altamente disponível? Atualmente, é um ponto único de falha.

Podemos usar o AWS Elastic Load Balancing, mas é um pouco caro e novamente não precisamos da parte de balanceamento de carga, então: como você resolveria esse problema de outra maneira?

Uma ideia que chega perto é monitorar o front-end com pings ou batimentos cardíacos; no tempo limite, mude o Elastic IP do front-end para outra máquina configurada para servir também como front-end. Minha principal preocupação com essa abordagem é que, aparentemente, pode levar 10 minutos para a atribuição de IP elástico se propagar.

Alguma coisa com um tempo de resposta mais rápido do que essa abordagem? Acho que o tempo de inatividade zero é possível?

Girando essa pergunta de outra forma: como você conseguiria isso em um data center auto-hospedado regular, em que você não tem o AWS Elastic Load Balancing?

    
por Yang 25.09.2010 / 00:30

4 respostas

4

Rápido, confiável e barato. Escolha dois.

Honestamente, porém, "tempo de inatividade zero" é, para todos os efeitos, impossível. Você está querendo tempo de inatividade zero, mas não parece que você está disposto a gastar o dinheiro necessário para fazê-lo.

Eu acredito que você esteja no caminho certo com o heartbeat e balançando o IP do front end para outro nó. Qualquer coisa mais envolvente do que isso envolveria contratar os serviços de um CDN como Akamai ou Limelight ou, alternativamente, obter um número AS, configurar o BGP, obter uma alocação de IP, configurar equipamentos em duas colunas geograficamente distantes e replicar dados entre eles. Qualquer uma dessas opções seria bastante cara e complexa de implementar.

    
por 25.09.2010 / 03:00
2

Ao analisar o serviço ELB da Amazon, lembre-se de que ele usa um registro CNAME para que você não possa load balance a raiz do seu domínio (example.com). Você teria que usar um subdomínio como www.example.com e fazer com que a máquina aceitasse tráfego enviado para example.com redirecionar clientes para www.example.com. Isso lhe dá um único ponto de falha. Mais discussões sobre esse problema podem ser encontradas nos fóruns da Amazon: link

    
por 27.09.2010 / 01:39
0

O seu próprio número de AS em duas ou mais redes de classe de operadora é o mais próximo possível de zero tempo de inatividade. Com vários sites físicos online. Dito isso, o EC2 está próximo de zero tempo de inatividade.

    
por 25.09.2010 / 04:56
0

Por ter dois balanceadores de carga ativos / passivos ou ativos / ativos, você pode evitar spof.

apenas tenha em mente que, no cenário ativo / ativo, suas duas libras irão funcionar ao mesmo tempo e, se uma delas falhar, a outra assumirá.

    
por 02.10.2010 / 12:42