Visão geral
Neste guia, você aprenderá como o driver Go gerencia clusters e como personalizar as configurações do cluster.
Especificar configurações
Você pode especificar configurações para seus clusters usando 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 |
|---|---|
| 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 |
| Especifica a latência máxima em milissegundos para selecionar um servidor. Padrão: 15 milissegundos |
| Especifica o nome do conjunto de réplicas ao qual se conectar. |
| Especifica se conectar diretamente a um único servidor, ignorando o conjunto de réplicas ou cluster fragmentado. Padrão: |
| Especifica se o driver está se conectando ao MongoDB usando um balanceador de carga . Se definido como Você só poderá definir esta opção como
Padrão: |
| 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. |
| Especifica se o driver desprioriza um servidor que retorna um erro de sobrecarga, reduzindo a probabilidade de tentar novamente no mesmo servidor sobrecarregado. Padrão: |
| Especifica o número máximo de vezes que o driver tenta novamente uma operação que falha com um erro de sobrecarga do lado do servidor. Padrã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 |
|---|---|
| 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 |
| Especifica a latência máxima em milissegundos para selecionar um servidor. Padrão: 15 milissegundos |
| Especifica o nome do conjunto de réplicas ao qual se conectar. |
| Especifica se conectar diretamente a um único servidor, ignorando o conjunto de réplicas ou cluster fragmentado. Padrão: |
| Especifica se o driver está se conectando ao MongoDB usando um balanceador de carga . Se definido como Você só poderá definir esta opção como
Padrão: |
| 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 |
| Especifica se o driver desprioriza um servidor que retorna um erro de sobrecarga, reduzindo a probabilidade de tentar novamente no mesmo servidor sobrecarregado. Padrão: |
| Especifica o número máximo de vezes que o driver tenta novamente uma operação que falha com um erro de sobrecarga do lado do servidor. Padrão: |
Para saber mais sobre os métodos disponíveis, consulte a seção Documentação da API.
Exemplo
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) }
Documentação da API
Para saber mais sobre os métodos e tipos neste guia, consulte a seguinte documentação da API: