Como posso transferir melhor parte dos URIs de um domínio de um servidor para outro?

2

Desculpe, sou muito novo nesse conceito. Basicamente, eu tenho um site do Django. Um dos pontos de vista faz muito trabalho e leva ao servidor desligar devido à falta de memória. Eu quero pegar a funcionalidade dessa visão e fazê-la rodar em outro servidor (Servidor B), e fazer com que o servidor principal (Servidor A) se comunique com ele como se ambos corressem no mesmo servidor. Meu primeiro palpite É preciso fazer com que o Servidor B ouça em uma porta com a qual o Servidor A possa conversar e vice-versa.

Não estou pedindo uma resposta definitiva, pois essa questão em si pode ser vaga. Talvez, eu possa conseguir isso melhor pelo balanceamento de carga, etc., não tenho certeza. Quaisquer links que apontem para informações sobre como eu posso conseguir o que eu quero são muito apreciados. Obrigado

    
por ninja123 05.07.2010 / 14:57

2 respostas

1

Eu provavelmente procuraria algum tipo de infra-estrutura de mensagens para resolver isso. O servidor A pode manipular as solicitações front-end e o servidor B pode gerar os dados.

O servidor A "escuta" em uma fila de dados gerados pelo servidor B. Você também deve tentar armazenar solicitações em cache e gerar dados para não gerar novamente os mesmos dados para várias solicitações semelhantes.

O Servidor B ouve solicitações encaminhadas da exibição no servidor A, processa os dados e retorna os dados gerados por meio da fila de respostas.

Hmm. Coisas para ler ..

link < - Excelente artigo sobre RabbitMQ e python.

link < - visualização em cache do Django. Isso ajudará a diminuir sua carga imensamente (especialmente se você usar o cache do memcached em cache baseado em disco, então você também terá um cache distribuído).

link < - "Criando websites escaláveis" lhe dará uma boa visão sobre algumas outras maneiras de tornar seu aplicativo escalonável.

    
por 05.07.2010 / 15:30
1

Sugiro investigar os usos comuns do mod_proxy do Apache.

Além disso, nesse mesmo caminho, você pode se interessar por algo como o Varnish para armazenamento em cache.

Pense bastante sobre maneiras de dividir seu aplicativo em unidades funcionais, se ainda não o fez, e reduzir o volume total de trabalho realizado. Você pode armazenar em cache? Se você puder, faça . :)

    
por 24.05.2011 / 22:23