Docs Menu
Docs Home
/ /

Personalizar la configuración del clúster

En esta guía, puede aprender cómo el controlador Go administra los clústeres y cómo personalizar la configuración del clúster.

Puede especificar configuraciones para sus clústeres mediante una cadena de conexión o un ClientOptions estructura al crear una nueva instancia Client. Seleccione la Connection String o la pestaña ClientOptions para ver las opciones disponibles.

La siguiente tabla describe los parámetros que puede utilizar en su cadena de conexión para modificar el comportamiento del controlador al interactuar con su clúster MongoDB:

Parameter
Descripción

serverSelectionTimeoutMS

Especifica la cantidad máxima de tiempo que el controlador esperará a que un servidor esté disponible antes de generar un error.

Predeterminado: 30 segundos

localThresholdMS

Especifica la latencia máxima en milisegundos para seleccionar un servidor.

Predeterminado: 15 milisegundos

replicaSet

Especifica el nombre del Set de réplicas al que conectarse.

directConnection

Especifica si debe conectarse directamente a un solo servidor, omitiendo el conjunto de réplicas o el clúster fragmentado.

Por defecto: false

loadBalanced

Especifica si el controlador se conecta a MongoDB mediante un balanceador de carga. Si se establece en true, el controlador asume que se conecta a través de un balanceador de carga.

Puede establecer esta opción en true solo si cumple con los siguientes requisitos:

  • Solo especifica un nombre de host

  • No se está conectando a un conjunto de réplicas

  • La opción srvMaxHosts no está configurada o tiene un valor de 0

  • La opción directConnection no está configurada o tiene un valor de false

Por defecto: false

srvServiceName

Especifica el nombre del servicio del Registros de recursos SRV que el controlador recupera para construir su lista de semillas. Debe usar el formato de conexión de lista de semillas DNS en su cadena de conexión para usar esta opción.

La siguiente tabla describe varios métodos que puede encadenar a su estructura ClientOptions para modificar el comportamiento del controlador:

Método
Descripción

SetServerSelectionTimeout()

Especifica la cantidad máxima de tiempo que el controlador esperará a que un servidor esté disponible antes de generar un error.

Predeterminado: 30 segundos

SetLocalThreshold()

Especifica la latencia máxima en milisegundos para seleccionar un servidor.

Predeterminado: 15 milisegundos

SetReplicaSet()

Especifica el nombre del Set de réplicas al que conectarse.

SetDirect()

Especifica si debe conectarse directamente a un solo servidor, omitiendo el conjunto de réplicas o el clúster fragmentado.

Por defecto: false

SetLoadBalanced()

Especifica si el controlador se conecta a MongoDB mediante un balanceador de carga. Si se establece en true, el controlador asume que se conecta a través de un balanceador de carga.

Puede establecer esta opción en true solo si cumple con los siguientes requisitos:

  • Solo especifica un nombre de host

  • No se está conectando a un conjunto de réplicas

  • La opción srvMaxHosts no está configurada o tiene un valor de 0

  • La opción directConnection no está configurada o tiene un valor de false

Por defecto: false

SetSRVServiceName()

Especifica un nombre de servicio personalizado para los registros de recursos SRV que el controlador recupera para construir la lista de semillas. Para usar un nombre de servicio SRV personalizado en la detección de SRV, debe llamar a esta función antes de llamar ApplyURI() a.

Para obtener más información sobre los métodos disponibles, consulte la sección Documentación de la API.

Selecciona la pestaña Connection String o ClientOptions para ver el ejemplo correspondiente:

El siguiente código utiliza la cadena de conexión para configurar el tiempo de espera máximo de selección de servidor en 10 segundos y el umbral local en 20 milisegundos:

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

El siguiente código crea un cliente y pasa la cadena de conexión al método ApplyURI():

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

El siguiente código crea un cliente y establece las opciones del clúster con un tiempo de espera máximo de selección de servidor de 10 segundos y un umbral local de 20 milisegundos:

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 obtener más información sobre los métodos y tipos de esta guía, consulte la siguiente documentación de API:

Volver

Comprimir el tráfico de la red

En esta página