Reencaminhar solicitação para vários servidores

1

Temos dois servidores. Um é o servidor antigo e outro é o novo. Atualmente, estamos fazendo uma migração porque o servidor antigo não é capaz o suficiente para lidar com solicitações diárias.

As especificações são:

Servidor antigo

  • Ubuntu 10.04
  • Nginx como proxy reverso
  • Apache WSGI
  • Python / Django

Novo servidor

  • Ubuntu 10.04
  • Nginx
  • Gunicorn
  • Python / Django
  • Aipo + Redis

Nosso gerente nos pediu para pesquisar se o servidor antigo pode executar vários encaminhamentos para todas as solicitações recebidas, por exemplo, configurar o Nginx do servidor antigo para encaminhar todas as solicitações para o servidor antigo e o novo. O objetivo é realizar o teste de unidade para o novo servidor usando o servidor antigo como comparador, ver se o novo servidor está pronto para assumir a função.

Por favor ajude, se houver uma ideia, ou instale algum mecanismo, ou o que fazemos é impossível. Muito obrigado.

Atualmente minha configuração de servidor (servidor antigo):

server {

listen *:80;
access_log /var/log/nginx/apps.access.log;

error_log /var/log/nginx/apps.error.log;
location / {

   proxy_pass http://127.0.0.1:8081;
   include /etc/nginx/proxy.conf;

}

location /media/ {

   root    /var/www/media/;
   expires 24h;

}

}

    
por cactuarz 10.04.2012 / 10:16

1 resposta

1

Nenhuma resposta? : '(... por enquanto, esta é a minha abordagem:

Eu criei um novo servidor (servidor fictício) que copia todas as estruturas e métodos de serviços da Web (método fictício, a mesma declaração de método, mas nenhum código). Dentro de todos esses métodos eu escrevi:

def foo( bar ):

import xmlrpclib as x p = x.ServerProxy( server1_url )

result = p.foo(bar)

p = x.ServerProxy( server2_url )

p.foo(bar)

return result

Se você encontrou este código, torne o serviço web mais lento, apenas envie para o Servidor2 usando aipo. Nós só precisamos do resultado do Server1.

Este caminho é apenas um truque, mas funciona.

    
por 17.04.2012 / 11:59