Os drivers do MongoDB usam um algoritmo de seleção de servidor para escolher qual membro do conjunto de réplicas usar ou, quando conectados a várias instâncias mongos, qual instância mongos usar.
A seleção do servidor ocorre uma vez por operação.
Observação
As transações que contêm operações de leitura devem usar a preferência de leitura primary. Todas as operações em uma determinada transação devem ser roteadas para o mesmo nó.
Ler preferência para conjuntos de réplicas
A seleção do servidor ocorre uma vez por operação e é regida pelas configurações de preferência de leitura e localThresholdMS para determinar a elegibilidade do membro para leituras. A preferência de leitura é reavaliada para cada operação.
Modo de preferência de leitura | Processo de seleção |
|---|---|
|
|
| |
| |
| |
|
Preferência de leitura para clusters fragmentados
Balanceamento de carga
Se houver mais de uma instância mongos na lista de sementes de conexão, o driver determinará qual mongos é o "mais próximo" (ou seja, o nó com o menor tempo médio de ida e volta da rede) e calculará a janela de latência adicionando o tempo médio de ida e volta desta instância mongos "mais próxima" e do localThresholdMS. A carga do driver se equilibra aleatoriamente entre as mongos instâncias que se enquadram na janela de latência.
Observação
localThresholdMS direciona a seleção do servidor para alvos locais de menor latência. A configuração não pode remover a topologia de rede entre regiões que um único endpoint privado cria, nem garantir que todas as conexões permaneçam na região local. Nesta configuração, um cliente ainda pode se conectar por meio de um mongos em outra região.
Leia Preferências e Fragmentos
Para clusters fragmentados que têm shards de conjunto de réplicas, o mongos aplica a preferência de leitura ao ler a partir dos shards. A seleção do servidor é regida pela preferência de leitura e pelas configurações replication.localPingThresholdMs. A preferência de leitura é reavaliada para cada operação.
Modo de preferência de leitura | Processo de seleção |
|---|---|
|
|
| |
| |
| |
| [1] | (1, 2) O valor limite padrão é de 15 milissegundos. |