Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/ / /
Driver GO
/ /

Personalizar Configurações de Cluster

Neste guia, você aprenderá como o driver Go gerencia clusters e como personalizar as configurações do cluster.

Você pode especificar configurações para seus clusters utilizando uma string de conexão ou uma estrutura ClientOptions ao criar uma nova instância do Client. Selecione a aba Connection String ou ClientOptions para ver as opções disponíveis.

A tabela a seguir descreve os parâmetros que você pode usar na string de conexão para modificar o comportamento do driver ao interagir com o cluster MongoDB :

Parâmetro
Descrição

serverSelectionTimeoutMS

Especifica a quantidade máxima de tempo que o driver esperará que um servidor esteja disponível antes de lançar um erro.

Padrão: 30 segundos

localThresholdMS

Especifica a latência máxima em milissegundos para selecionar um servidor.

Padrão: 15 milissegundos

replicaSet

Especifica o nome do conjunto de réplicas ao qual se conectar.

directConnection

Especifica se conectar diretamente a um único servidor, ignorando o conjunto de réplicas ou cluster fragmentado.

Padrão: false

loadBalanced

Especifica se o driver está se conectando ao MongoDB usando um balanceador de carga . Se definido como true, o driver pressupõe que está se conectando por meio de um balanceador de carga.

Você só poderá definir esta opção como true se atender aos seguintes requisitos:

  • Você especifica apenas um nome de host

  • Você não está conectando a um conjunto de réplicas

  • A opção srvMaxHosts não está definida ou tem um valor de 0

  • A opção directConnection não está definida ou tem um valor de false

Padrão: false

srvServiceName

Especifica o nome do serviço dos registros de recursos SRV que o driver recupera para construir sua lista de sementes. Você deve usar o formato de conexão da lista de sementes do DNS em sua string de conexão para usar essa opção.

A tabela a seguir descreve vários métodos que você pode conectar à sua estrutura ClientOptions para modificar o comportamento do driver:

Método
Descrição

SetServerSelectionTimeout()

Especifica a quantidade máxima de tempo que o driver esperará que um servidor esteja disponível antes de lançar um erro.

Padrão: 30 segundos

SetLocalThreshold()

Especifica a latência máxima em milissegundos para selecionar um servidor.

Padrão: 15 milissegundos

SetReplicaSet()

Especifica o nome do conjunto de réplicas ao qual se conectar.

SetDirect()

Especifica se conectar diretamente a um único servidor, ignorando o conjunto de réplicas ou cluster fragmentado.

Padrão: false

SetLoadBalanced()

Especifica se o driver está se conectando ao MongoDB usando um balanceador de carga . Se definido como true, o driver pressupõe que está se conectando por meio de um balanceador de carga.

Você só poderá definir esta opção como true se atender aos seguintes requisitos:

  • Você especifica apenas um nome de host

  • Você não está conectando a um conjunto de réplicas

  • A opção srvMaxHosts não está definida ou tem um valor de 0

  • A opção directConnection não está definida ou tem um valor de false

Padrão: false

SetSRVServiceName()

Especifica um nome de serviço personalizado dos registros de recursos SRV que o driver recupera para construir sua lista de sementes . Para usar um nome de serviço SRV personalizado na descoberta do SRV, você deve chamar esta função antes de ApplyURI() chamar.

Para saber mais sobre os métodos disponíveis, consulte a seção Documentação da API.

Selecione a aba Connection String ou ClientOptions para ver o exemplo correspondente :

O código a seguir usa a string de conexão para configurar o tempo limite máximo de seleção do servidor para 10 segundos, e o limite local para 20 milissegundos:

const uri = "mongodb://localhost:27017/?serverSelectionTimeoutMS=10000&localThresholdMS=20"

O código a seguir cria um cliente e passa a string de conexão para o método ApplyURI():

client, err := mongo.Connect(options.Client().ApplyURI(uri))
if err != nil {
log.Fatal(err)
}

O código abaixo cria um cliente e define as opções de cluster com um tempo limite máximo de seleção de servidor de 10 segundos e um limite local de 20 milissegundos:

clientOptions := options.Client().
ApplyURI(uri).
SetServerSelectionTimeout(10 * time.Second).
SetLocalThreshold(20 * time.Millisecond)
client, err := mongo.Connect(clientOptions)
if err != nil {
log.Fatal(err)
}

Para saber mais sobre os métodos e tipos neste guia, consulte a seguinte documentação da API:

Voltar

Comprimir tráfego de rede

Nesta página