Opções de balanceador de carga [fechadas]

25

Estou analisando várias opções possíveis para balanceamento de carga.

Até agora, estou limitado às seguintes opções:

  • Balanceador de carga do servidor DNS, balanceado para um cluster de servidores tomcat, com terracota para replicação de sessão. Prós - não precisa comprar um novo kit. Contras - O DNS lb pode continuar direcionando para um servidor quebrado.

  • Balanceador de carga de hardware, direto ao cluster de servidores tomcat. Prós - poderia ter uma segunda caixa para lb de failover. Contras - despesas.

  • Balanceador de carga do servidor Apache. Prós - pesquisas lb do apache para servidores quebrados. Contras - o servidor apache é um ponto único de falha, além da necessidade de comprar outro servidor.

Existem outras opções que devo considerar?

Obrigado.

Atualização: Obrigado por todas as respostas até agora + 1s em todos os aspectos. Não aceitando uma resposta ainda, para manter mais idéias chegando.

conjunto de ferramentas
fonte
Qual plataforma OS?
Spoulson 22/05/09
Para S / W balanceadores de carga, ele será Linux
conjunto de ferramentas
As janelas embutidas no balanceamento de carga de rede também não são ruins para o balanceamento de carga barato. Mas, pessoalmente, eu diria que, se vale algum dinheiro para você, compre um F5.
Sclarson 22/05/09
Se você não faz terracota, de que tipo de afinidade de sessão você precisa? IP baseado em cookie, cabeçalho?
Sh-beta
@ sh-beta - Eu acho que depende da implementação?
toolkit

Respostas:

7

eu não iria para lb com base em DNS - exatamente pelo motivo que você lista.

O nginx ou o verniz pode ser sua outra opção de lb / failover que fica na frente do appservs e atua como proxy reverso. eles exigem mais cuidado do que a caixa de hardware, mas economizarão muito dinheiro. certifique-se de colocar esses balanceadores em algum cluster também [ativo-passivo com pulsação fará o truque].

pQd
fonte
11

Se você estiver analisando dispositivos de balanceamento de carga, não poderá errar com o F5 Big-IP

edit: A razão pela qual digo que basta ir com o Big-IP é porque é um bom dispositivo para administradores de servidores que não têm muita experiência com dispositivos de rede. Possui uma interface web agradável, com opções quase ilimitadas para configuração e geração de relatórios. Elas são as mais confiáveis ​​e menos caras de todas as opções de balanceamento de carga "corporativas".

Aqui está um link para um estudo sobre as opções de entrega de aplicativos em 2007: Resultados do Gartner

Sclarson
fonte
11
Eu gosto dos IPs grandes da F5. Também é ótimo lidar com a aceleração SSL, para que os servidores da Web possam lidar apenas com HTTP simples.
22137 Chris W. Rea
Concordo que, se você estiver executando uma operação grande, é melhor ficar longe das últimas atualizações que encontrar.
M22:
Nós dirigimos uma grande organização neles, não tenho muita certeza do que as atualizações mais recentes têm a ver com o uso do F5.
Sclarson 22/05/2009
+1 para os grandes IPs. Eles simplesmente funcionam. Quando você coloca algo entre seus usuários e servidores, ele precisa ser à prova de balas.
Brent Ozar
6

Eu sugiro usar o HAProxy . É extremamente rápido. E você também pode evitar um único ponto de falha usando dois balanceadores de carga com CARP (* BSD) ou UCARP / LVS (Linux)

SaveTheRbtz
fonte
4

Estamos usando o Equalizador de Pontos Coyote (balanceadores de carga de hardware) há anos e estamos muito felizes com eles. Eles podem não ter todos os recursos de um F5, mas ainda têm muitos recursos e custam muito menos. Desempenho e confiabilidade foram excelentes.


fonte
+1 para isso. Também temos um par de coiotes aqui, eles estão em operação há vários anos e ainda estão cantarolando.
Seth
3

Eu costumo optar por LBs de hardware, pois eles costumam lidar com muito tráfego, são frequentemente mais simples, mais capazes de serem melhorados / mais fáceis e às vezes também podem gerenciar outros problemas de segurança, como ataques de SYN-flood no hardware. Eu uso o Foundry, mas há muitas opções de escolha (F5, Cisco etc.) - porém dispendiosas :(

Chopper3
fonte
1

O Cisco GSS (Global Site Selector) é um servidor DNS que também faz verificações de saúde. Essa será uma opção mais cara que um servidor DNS padrão, obviamente. Página da Web com mais detalhes aqui: http://www.cisco.com/en/US/products/hw/contnetw/ps4162/index.html

F5 has similar offerings:  http://www.f5.com/products/ 
Cisco ACE product page: http://www.cisco.com/en/US/products/ps8361/index.html

Como o Chopper3 mencionou, o balanceamento de carga baseado em hardware provavelmente oferecerá maior desempenho, mas você pagará por isso.

Os recursos que você pode procurar são: descarregamento de SSL, suporte a vlan, contextos, clustering, suporte a protocolos de roteamento e suporte / interação com diferentes aplicativos (por exemplo, cookies html e modificação de cabeçalho).

Pedro
fonte
1

Você já viu o ldirectord ?

É executado no linux, pode funcionar com pulsação do coração nas mesmas máquinas em que é feito o balanceamento de carga (e, portanto, possui alguma redundância incorporada) - ou, é claro, em sua própria caixa na frente deles, é fácil de configurar, leve e muito capaz .

Brent
fonte
1

Eu descobri que o cruzamento era um excelente balanceador de carga. Ele lidou com nossa carga de produção por uns bons sete meses, enquanto os funcionários da rede resolviam um problema de hardware com um balanceador de carga da Cisco.

Jonathan
fonte
0

Eu escrevi um balanceador de carga baseado em software que não requer uma máquina separada.

O lado negativo é que ele não está realmente pronto para produção - mas se você quiser testá-lo em sua rede de testes, ficaria satisfeito.

O cluster fofo está aqui

É basicamente superficialmente semelhante ao NLB da Microsoft (eu acho) - embora eu não tenha sua fonte e não saiba exatamente como a deles funciona.

É claro que não monitoramos automaticamente a camada do aplicativo, mas você pode escrever algo que faça isso e alterar pesos ou remover nós de acordo.

EDIT: Você não disse qual SO, o cluster Fluffy é apenas para Linux no momento.

MarkR
fonte
Parece legal. Eu gostaria de usar o ClusterIP, mas ele não está pronto para produção e há muitas dicas. Você tem planos de preparar o cluster Fluffy para produção?
Di
Se houver interesse, eu o farei. Há relativamente pouco trabalho necessário para uma liberação de capacidade limitada.
298 MarkR
0

keepalived é outro balanceador de carga linux, que suporta vários algoritmos de balanceamento de carga (obviamente) e VRRP para criar instâncias redundantes com failover automático quando uma caixa do balanceador de carga fica inativa

Sander Rijken
fonte
0

Se o dinheiro não for uma preocupação, obtenha um balanceador de carga de hardware.

A empresa em que trabalho usa o Apache para fazer frente aos nossos servidores Tomcat e o balanceador de carga está na mesma caixa que alguns dos tomcats (os tomcats usam portas internas). Iremos para uma caixa dedicada do balanceador de carga em breve. Em breve, mudaremos para o Nginx, acho a configuração mais fácil e tudo muito mais leve que o Apache. Dependendo da arquitetura da rede, também aconselho que você use um "IP flutuante" interno para o balanceador de carga e execute algo como pulsação para alternar o IP para outra caixa, se necessário. Isso adicionaria capacidade de failover sem se preocupar com problemas de propagação de DNS.

ahanson
fonte
0

Eu configurei uma solução com DNSMadeEasy . Eles têm um ótimo screencast em relação ao failover de DNS. Eles têm preços razoáveis. Em nosso sistema, implementamos um serviço simples que "envia" os diferentes componentes de nosso sistema (banco de dados, fila JMS, conexão S3) e retorna OK, que o DNSMadeEasy pode utilizar. Sempre que houver uma exceção, o DNSMadeEasy removerá esse servidor da lista de servidores que responde nessa pesquisa de DNS.

tronda
fonte
0

Você já olhou perlbal?

www.danga.com/perlbal/

Rico
fonte
0

Olá, @toolkit, você implementou o NGinX / Varnish na sua missão LoadBalancer (LB)? Em caso afirmativo, quais foram seus resultados? (se você não se importa de compartilhar com o resto de nós ;-)

Apenas para resumir o exposto acima (e faça uma menção ao ZMQ)

Balanceamento de carga básico

Mais avancado

nelsonic
fonte