Prática recomendada para dimensionar uma única origem de aplicativo para vários nós

1

Eu tenho um aplicativo que precisa ser dimensionado horizontalmente para cobrir os nós da Web e de serviços (no momento eles são todos em um), mas interagem com o mesmo conjunto de bancos de dados e arquivos de origem (código do aplicativo e ativos personalizados). O banco de dados não é problema, já é tratado com replicação no MongoDB.

Além disso, a configuração dos servidores é a mesma (100% linux). Esta questão é, literalmente, sobre o compartilhamento de um sistema de arquivos entre máquinas para que seu conteúdo esteja sempre correto, independentemente do nó que o acessa.

Meus dois pensamentos até agora têm sido o NFS e SAN-SAN sendo proibitivamente caros e o NFS vendo alguns problemas de desempenho no segundo nó em relação ao glob () em PHP.

Alguém recomendou estratégias ou outras técnicas que não envolvam a fragmentação de dados nos nós ou quaisquer possíveis problemas no NFS que possam causar tempos de busca de disco lentos?

Para dar uma ideia da escala, o nó principal inicializa seus módulos de aplicativo em ~ 0,01 segundos. O secundário está levando ~ 2,2 segundos. Eles são VMs dentro de uma rede virtual local no ESXi e o tempo de ping entre eles é de ~ 0,3 ms

    
por Andrew Waters 06.07.2012 / 16:48

2 respostas

1

Parece que você está fazendo algo patologicamente errado com o NFS - como colocar dezenas de milhares de arquivos em um diretório ou algo assim. O NFS funciona bem, mesmo em grandes conjuntos de dados (TB +), portanto, isso pode ser feito.

Você, no entanto, precisa de um sistema de arquivos? Eu geralmente acho que você pode obter melhor desempenho e encapsulamento, expondo um conjunto mais limitado de primitivas ao seu armazenamento de dados e operando usando-as. Em vez de analisar tudo novamente, vou apenas apontar para você uma resposta anterior que escrevi e que tem tudo o detalhe fino.

    
por 06.07.2012 / 18:01
0

SVN / git confira os nós individuais. Rsync nos nós. Servidor Samba montado por todos os nós. Basicamente, tudo menos NFS.

    
por 06.07.2012 / 18:09