Por que nós desconectamos o TCP quando usamos o AWS Elastic Load Balancer?

2

Estamos executando nossos servidores em instâncias do AWS EC2. Os servidores precisam fornecer HTTP na porta 80 e RTMP (TCP) na porta 1935.

A execução de uma única instância funciona bem. Mas assim que uso o Elastic Load Balancing para equilibrar a carga entre duas instâncias do EC2, a conexão RTMP (TCP) é perdida após um minuto. Mesmo que nosso aplicativo deva tolerar as desconexões, isso não acontece no momento.

Usando o haproxy para balancear a carga, não experimentamos essas desconexões antecipadas. O Elastic Load Balancer é atrativo para nós por causa do recurso de dimensionamento automático.

Alguma sugestão de por que essa desconexão acontece quando usamos o AWS Elastic Load Balancer?

    
por Jan Deinhard 01.08.2010 / 08:22

2 respostas

1

Graças ao l1x, encontrei a resposta no fórum da Comunidade de desenvolvedores da AWS.

It sounds like what is happening is that the connection is timing out.

If there is no data written or read on the connection to the loadbalancer in 60 seconds the connection is closed.

You could send some sort of heartbeat data to the socket periodically to avoid the connection from being closed. What kind of requests are you performing that take longer than 60 seconds and do not send/receive any data?

AWS Developet Community

De acordo com o segmento de discussão, os engenheiros da AWS estão investigando esse problema. Talvez o tempo limite seja configurável no futuro próximo.

Por enquanto, vou tentar a solução de heartbeat.

    
por 01.08.2010 / 20:17
0

Você precisa investigar esse problema mais profundamente, pedindo que ele ofereça suporte para você, eu acho. Esta é uma informação muito pequena para responder à sua pergunta remotamente:)

    
por 01.08.2010 / 11:05