Pergunta

Temos uma situação em que os usuários podem fazer upload de conteúdo e, em seguida, fazer algumas alterações separadamente e, em seguida, enviar um formulário com base nessas alterações.

Isso funciona bem em um ambiente de servidor único e sem failover; no entanto, gostaríamos de algum tipo de solução para compartilhar os arquivos entre servidores que suportem failover.

Alguém já se deparou com isso no passado?E que tipo de soluções você conseguiu desenvolver?Obviamente, persistir no banco de dados é uma opção, mas preferimos evitar isso.

Foi útil?

Solução

Em um trabalho anterior, tínhamos um cluster de servidores web com um balanceador de carga F5 na frente deles.Tivemos um problema muito semelhante, pois nossos aplicativos permitiam aos usuários fazer upload de conteúdo que poderia incluir fotos e outros itens.Eram aplicativos legados e não queríamos editá-los para usar um banco de dados e uma solução SAN era muito cara para nossa situação.

Acabamos usando um serviço de replicação de arquivos nos dois servidores em cluster.Isso foi executado como um serviço em ambas as máquinas usando uma conta que tinha acesso de rede a caminhos no servidor oposto.Quando um arquivo era carregado, esse serviço de back-end sincronizava os dados nas pastas do sistema de arquivos, disponibilizando-os para serem servidos em qualquer servidor web.

Dois dos produtos que analisamos foram Vice-versa e PeerSync.Acho que acabamos usando o PeerSync.


Outras dicas

Em nosso cenário, temos um servidor de arquivos separado no qual ambos os nossos servidores de aplicativos front-end gravam, de forma que qualquer um dos servidores tenha acesso aos mesmos conjuntos de arquivos.

A melhor solução para isso geralmente é fornecer a área compartilhada em alguma forma de SAN, que será acessível a partir de todos os servidores e conterá failover.

Isso também tem a vantagem de não precisar fornecer balanceamento de carga fixo, o upload pode ser feito por um servidor e a edição por outro.

Uma SAN compartilhada com failover é uma ótima solução com um ótimo (alto) custo.Existem soluções semelhantes com failover a um custo razoável?Talvez algo como DRBD para Windows?

O problema com um sistema de arquivos compartilhado simples é a falta de redundância (e se o servidor de arquivos falhar)?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top