Esse problema se aplica a muitos tipos de armazenamentos de dados, não apenas ao GlusterFS. Isso ocorre porque o aumento da distância aumenta a latência. A recomendação para estar na mesma sub-rede é também reduzir a latência devido a saltos de rede.
Para manter a sincronização de dados, os vários servidores devem garantir que todos os servidores tenham a mesma visão dos dados. Para leituras de dados, o efeito de latência geralmente não é um problema. No entanto, pode ocorrer sérios danos nos dados se vários servidores gravarem o mesmo bloco antes de serem sincronizados. Quando um bloco de dados está sendo atualizado, é possível perder as alterações, se o bloco que está sendo atualizado foi lido antes que uma atualização subseqüente em dados de um servidor diferente seja perdida.
Os mecanismos de bloqueio podem ser usados para reduzir o risco de corrupção. No entanto, os bloqueios distribuídos levam mais tempo para serem obtidos e liberados à medida que a latência aumenta. Neste caso, a latência é a hora de completar uma viagem de ida e volta entre os servidores. Existem três fatores que contribuem para a comunicação entre os data centers.
Os armazenamentos de dados de correio tendem a ser relativamente lidos em sua maioria. Normalmente, é improvável que vários clientes conectados a servidores diferentes atualizem o mesmo arquivo ou diretório. Pode haver alguma contenção entre mensagens de e-mail recebidas e clientes que as leiam, mas a latência não deve ser um problema significativo. Os armazenamentos de formato do Maildir devem ter contenção relativamente menor que outros formatos. No entanto, eles têm atividade de renomeação e movimentação relativamente alta, o que pode causar problemas se os nós forem desconectados.
- Distância: Os dados do fio trafegam pelo fio a cerca de 30 cm em um nanossegundo, a 300 metros em um microssegundo ou a 300 km em um milissegundo. Isso adiciona latência significativa à medida que a distância aumenta.
- Tempo de comutação: Cada comutador que um pacote atravessa precisa ser examinado, roteado, enfileirado e transmitido pelo pacote. Isso adiciona latência adicional, que aumenta à medida que o switch fica mais ocupado.
- Congestionamento de rede: as redes podem ficar congestionadas, causando atrasos adicionais, pois o tráfego é enfileirado por mais tempo e possivelmente redirecionado. Se o congestionamento for ruim, os atrasos podem ser longos o suficiente para acionar a retransmissão de pacotes.