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 chamar ApplyURI().

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