Manter arquivos enviados em sincronia através de vários servidores - LAMP

1

Eu tenho um site agora que está utilizando atualmente 2 servidores, um servidor de aplicativos e um servidor de banco de dados, no entanto, a carga no servidor de aplicativos está aumentando, então vamos adicionar um segundo servidor de aplicativos.

O problema que tenho é que o site tem usuários fazer upload de arquivos para o servidor. Como obtenho os arquivos enviados em ambos os servidores?

Eu não quero armazenar imagens diretamente em um banco de dados, já que nosso aplicativo já é intensivo em banco de dados.

Existe uma maneira de sincronizar os servidores entre si ou há algo mais que eu possa fazer?

Qualquer ajuda seria apreciada.

Obrigado

    
por Dfranc3373 08.07.2012 / 20:48

4 respostas

3

Isso é difícil de responder porque é totalmente dependente de sua aplicação. Parece que você tem alguns problemas de arquitetura de aplicativos principais que não serão resolvidos em uma pergunta do ServerFault. Com isso dito, há algumas etapas que você pode seguir para resolver o problema descrito por você.

O curso de ação mais apropriado em uma situação como essa é dividir o compartilhamento de arquivos em um serviço separado. Não duplique arquivos se você tiver uma rede que permita que os arquivos estejam "em qualquer lugar (quase) de uma só vez". Você pode fazer isso por meio do NFS / CIFS ou por meio de um protocolo de armazenamento adequado, como o iSCSI. Montar como armazenamento local no diretório apropriado. Dependendo do desempenho de sua rede e de suas necessidades de armazenamento, isso pode adicionar alguns milissegundos indetectáveis ao tempo de carregamento da página.

    
por 08.07.2012 / 21:06
2

Eu posso pensar em diferentes soluções.

Você pode compartilhar arquivos via NFS ou em uma unidade iSCSI. - Eu duvido que isso dê bom desempenho.

Você pode colocar os arquivos em um servidor separado e usá-lo como um CDN. - Esta é uma maneira favorável, pois permite que o navegador faça o download de ativos de forma assíncrona.

Você pode usar um verdadeiro CDN como Cloudfront

    
por 08.07.2012 / 21:13
1

O csync2 é a sua solução: link

É projetado para o seu problema exato. Talvez você tenha lido este blog: link

HTH

    
por 08.07.2012 / 22:47
0

Outra resposta poderia ser usar um software chamado BTSync, é muito fácil de instalar e usar e pode permitir que você mantenha arquivos em sincronia com tantos servidores quantos forem necessários. São necessários apenas 3 comandos de terminal para instalação e são muito eficientes.

Dê uma olhada aqui

e aqui

    
por 17.10.2013 / 16:52