Parece que você precisa analisar DRBD , glusterfs e produtos semelhantes para replicação em tempo real de seus arquivos. Naturalmente, essas soluções serão muito mais eficientes se o atraso da rede for muito pequeno, como implantá-las na mesma LAN.
Estou tentando descobrir como balancear a carga de um aplicativo, como o WordPress. Minha matriz de servidores ficaria assim:
A maioria, se não todo o conteúdo, será armazenada no banco de dados, então o conteúdo não será um problema, e as implementações também serão resolvidas com ambos os servidores clonados de um repositório remoto do GIT, mas o que acontecerá se alguém enviar uma imagem para um servidor? Como seria sincronizado com o outro?
Eu estou supondo que eu poderia fazer isso com o rSync, mas eu sinto que isso é meio desatualizado. Qualquer recomendação seria muito apreciada.
Se os dados enviados pelo usuário não forem armazenados em cache e / ou estiverem armazenados em um local de rede centralizado, não haverá problemas.
Os dados em cache são definitivamente um problema. Existem pelo menos algumas abordagens gerais.
Mantenha a afinidade de sessão (sessões "fixas") com um determinado servidor web / de aplicativos. Isso essencialmente renderiza o aplicativo da Web stateless "stateful" e o aplicativo agora tem um tempo limite de conexão implícito Geralmente, o balanceador de carga tem um tempo limite e o servidor da Web tem um tempo limite de conexão e / ou um tempo limite de keep-alive HTTP. Os tempos limite do balanceador de carga podem ser mais difíceis de resolver, pois seus recursos podem ser mais limitados do que apenas o aplicativo / servidor da web.
Se possível, tenha um mecanismo incorporado ao aplicativo para sincronizar os dados criados / modificados / excluídos entre os servidores da web / de aplicativos parceiros.
Uma solução intermediária de armazenamento em cache, como o Azure AppFabric, pode não ser viável. Muitos aplicativos que armazenam em cache grandes dados não podem obter o mesmo desempenho ao usar um cache intermediário, embora isso deva ser determinado por meio de testes.
Tags load-balancing