Quando desejo mover um único servidor mongodb para um cluster fragmentado, sei que preciso de 3 servidores de configuração. Como temos tudo em um único servidor EXSi, só quero perguntar se a maneira preferida é realmente configurar três pequenas VMs de servidor de configuração e duas VMs adicionais para os servidores mongod. Isso faz sentido, já que o sistema operacional somente no servidor de configuração consumirá 300 MB de RAM (ou mais)? É uma boa ideia usar uma VM e três contêineres docker para os servidores de configuração? E devo instalar o(s) roteador(es) mongos nos dois nós de dados ou no servidor onde os servidores de configuração estão hospedados? Deixe-me resumir a questão de quantas VMs eu realmente preciso, no mínimo, para um cluster mongo fragmentado?
Ou o Ubuntu Snappy Core é uma opção?
Responder1
Se você estiver configurando umambiente de laboratóriovocê pode economizar no uso de recursos o quanto quiser. A ideia de usar containers/docker parece razoável para umambiente de laboratório(e até mesmo para um produto, desde que você distribua contêineres entre diferentes hosts físicos).
Oo número mínimo de mongod
processos para um ambiente fragmentado é 9. 3 para o conjunto de réplicas de configuração e 3 para cada um dos (mínimo) 2 conjuntos de réplicas no fragmento.
“Distribuído” significa que pode ser executado em máquinas diferentes, mas não é obrigatório. Você poderia estar executando todos os 9 processos mongod em um único host físico usando portas diferentes ...
Quanto aos mongos
processos do roteador, eles devem ser executados o mais próximo possível dos aplicativos clientes; ou seja, coloque um mongos
em cada VM com um aplicativo que usa mongo.
Observação final. Observe a ênfase emambiente de laboratório. Se você estiver construindo algo diferente de um ambiente de aprendizagem usando um único nó ESXi, eu diria que você precisa examinar suas suposições.