Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Personalizar la configuración del clúster

En esta guía, puedes aprender cómo el driver de Go administra 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 struct al crear una nueva instancia de Client. Elija el 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 el tiempo máximo que el controlador esperará a que un servidor esté disponible antes de mostrar un error.

Por defecto: 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 se debe conectar directamente a un solo servidor, omitiendo el set de réplicas o el clúster fragmentado.

Por defecto: false

loadBalanced

Especifica si el driver se está conectando a MongoDB utilizando un balanceador de carga. Si se establece en true, el controlador asume que se está conectando 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 está desactivada o tiene un valor de 0

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

Por defecto: false

srvServiceName

Especifica el nombre del servicio del registros de recursos SRV que el driver recupera para construir tu lista de nodos iniciales. Debe usar el Formato de conexión de lista de nodos iniciales DNS en su cadena de conexión para utilizar esta opción.

La siguiente tabla describe varios métodos que puedes encadenar a tu estructura ClientOptions para modificar el comportamiento del driver:

Método
Descripción

SetServerSelectionTimeout()

Especifica el tiempo máximo que el controlador esperará a que un servidor esté disponible antes de mostrar un error.

Por defecto: 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 se debe conectar directamente a un solo servidor, omitiendo el set de réplicas o el clúster fragmentado.

Por defecto: false

SetLoadBalanced()

Especifica si el driver se está conectando a MongoDB utilizando un balanceador de carga. Si se establece en true, el controlador asume que se está conectando 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 está desactivada o tiene un valor de 0

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

Por defecto: false

SetSRVServiceName()

Especifica un nombre de servicio personalizado de los registros de recursos SRV que el driver recupera para construir tu lista de nodos iniciales. Para usar un nombre de servicio SRV personalizado en el descubrimiento SRV, debe llamar a esta función antes de llamar a ApplyURI().

Para saber más sobre los métodos disponibles, consulta la sección de 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 en esta guía, consulta la siguiente documentación de la API:

Volver

Comprimir el tráfico de la red

En esta página