Mongding sharding: mongos e servidores de configuração juntos?

4

Queremos criar um shard do MongoDB (v. 2.4). A documentação oficial recomenda ter 3 servidores de configuração.

No entanto, as políticas da nossa empresa não nos permitem obter 3 servidores extras para essa finalidade. Como já temos 3 servidores de aplicativos (1 nó da web, 2 nós de processo), estamos considerando colocar os servidores de configuração nos mesmos servidores de aplicativos, com os mongos. A disponibilidade não é crítica para nós.

O que você acha dessa configuração? Podemos enfrentar algum problema ou é desencorajado por algum motivo?

    
por Pablo Torrecilla 24.02.2016 / 11:16

1 resposta

5

O termo "servidor" está, infelizmente, sobrecarregado neste contexto: pode se referir ao processo de daemon do servidor de configuração ou a um servidor físico / virtual.

Para um cluster particionado de produção executando o MongoDB 2.4, você definitivamente deve ter três processos de servidor de configuração (por exemplo, mongod --configsvr ). Não há requisitos rígidos para que esses processos sejam hospedados separadamente, portanto, você pode colocar os processos de configuração do servidor mongod em seus ambientes de servidor existentes para economizar nos custos de hospedagem.

Os servidores de configuração geralmente são razoavelmente leves em termos de armazenamento e uso de CPU / memória, pois os metadados de um cluster fragmentado são significativamente menores que os dados reais do cluster. Se você optar por colocar os servidores de configuração, mongos será um vizinho muito melhor do que os servidores% shar_de% shard contendo dados.

Algumas considerações importantes ao colocar componentes de cluster compartilhados incluem:

  • Resiliência: um único servidor / falha de instância agora pode fazer com que vários componentes fiquem indisponíveis.

  • Uso de recursos: vários componentes competirão pelos mesmos recursos (RAM, CPU, E / S, ...).

  • Escalonamento futuro: você deve usar CNAMEs para que os servidores de configuração permitam que eles sejam movidos para separar hosts no futuro sem tempo de inatividade.

Você também descobrirá que o primeiro servidor de configuração listado na sua string mongod mongos receberá uma porcentagem maior de tráfego de rede do que os outros dois servidores de configuração. Isso pode influenciar se você coloca o primeiro servidor de configuração no nó da web ou em um nó de processamento; você provavelmente deseja escolher o que tiver mais largura de banda de rede disponível atualmente.

    
por 05.03.2016 / 01:53