Você está usando AWSDBProxy? Existe um impacto no desempenho quando a escala fora?
-
20-08-2019 - |
Pergunta
Depois de um voto para baixo, eu humildemente percebi que meu post foi um enorme rant . Então eu editei e resumiu este para baixo a apenas a questão que eu realmente gostaria de saber. Peço desculpas por meus comentários impetuoso anteriores a esta edição;)
Parece que os únicos tutoriais lá fora, falando sobre o uso SimpleDB da Amazon em um site trilhos estão usando AWSDBProxy ... Pessoalmente, acho que esta contra-intuitivo para dimensionamento, considerando o layout do servidor de um site típico Rails abaixo (usando AWSDBProxy):
Plugin aqui: http://agilewebdevelopment.com/plugins/aws_sdb_proxy
Imagem aqui: http://www.freeimagehosting.net/uploads/91be4e0617.png
Como você pode ver, mesmo que adicionar mais vira-latas, nós temos dois problemas.
- Nós temos um ponto único de falha muito menos estável do que o nosso balanceador de carga
- Nós temos de forçar todas as nossas informações através deste servidor WEBrick
A solução é, naturalmente, para adicionar mais AWSDBProxies ... mas por que não então é só usar o seguinte código no digamos, uma classe, a ignorar o proxy todos juntos?
service = AwsSdb::Service.new(Logger.new(nil),
CONFIG['aws_access_key_id'],
CONFIG['aws_secret_access_key'])
service.query(domain, query)
Então, o que eu estou chegando, é se você são usando AWSDBProxy, o que você está justificativas para isso? E se você está realmente usá-lo, o que é o seu desempenho como? Se você tem números concretos, isso seria ainda mais apreciada!
Obrigado!
Solução
Eu não estou usando ele, nem que eu já ouvi falar disso, mas isso é o que eu acho que são motivos razoáveis.
- Você está executando o seu servidor de aplicativo principal no EC2, assim a chance de Internet FALHA realmente não afetá-lo mais de uma vez.
- Você executar um proxy em cada um dos servidores de aplicativos. Então é conexão indo para baixo não é pior do que de conexão (s) para o banco de dados indo para baixo.
- Como isso pode ser feito. Esta é a razão um bom como qualquer em um projeto open source. Às vezes é preciso construir uma coisa antes de saber se disse coisa é uma boa / má idéia.
- Você não tem os níveis de tráfego precisar de um balanceador de carga. Em seguida, seu diagrama esmaga para baixo para uma linha, se não uma única máquina.