Módulo: Mongo::ServerSelector

Ampliado por:
Selector de servidor
Incluido en:
Selector de servidor
Definido en:
lib/mongo/server_selector.rb,
lib/mongo/server_selector/base.rb,
lib/mongo/server_selector/nearest.rb,
lib/mongo/server_selector/primary.rb,
lib/mongo/server_selector/secondary.rb,
lib/mongo/server_selector/primary_preferred.rb,
lib/mongo/server_selector/secondary_preferred.rb

Overview

Funcionalidad para lograr que un objeto pueda seleccionar un servidor, dada una preferencia.

Desde:

  • 2.0.0

Definido en el espacio de nombres

Clases: Base, Más cercano, Principal, Principal preferido, Secundario, Secundario preferido

Colapso delresumen constante

UMBRAL_LOCAL =

La latencia máxima en segundos entre el servidor más cercano y otros servidores considerados para la selección.

Desde:

  • 2.0.0

0.015.freeze
TIEMPO DE ESPERA DE SELECCIÓN DE SERVIDOR =

¿Cuánto tiempo se debe bloquear la selección del servidor antes de lanzar una excepción?

Desde:

  • 2.0.0

30.freeze
SEGUNDOS DE CADUCIDAD MÁXIMA MÁS PEQUEÑA =

El menor valor permitido para la antigüedad máxima, en segundos.

Desde:

  • 2.4.0

90
PRIMARIA =

Preferencia de lectura primaria.

Desde:

  • 2.1.0

opciones::Redactado.Nuevo(modo: :primario).freeze
PREFERENCIAS =

Búsqueda de hash para las clases selectoras basadas en los símbolos

provided in configuration.

Desde:

  • 2.0.0

{
  más cercano: Más cercano,
  primario: Primario,
  principal_preferido: PrimarioPreferido,
  secundario: secundario,
  secundario_preferido: SecundariaPreferida
}.freeze

Colapso del resumen del método de instancia

Detalles del método de instancia

#obtener(preferencia = {}) ⇒ Objeto

Crear un objeto selector de servidor.

Ejemplos:

Obtenga un objeto selector de servidor para seleccionar un secundario con

specific tag sets.
Mongo::ServerSelector.get(:mode => :secondary, :tag_sets => [{'dc' => 'nyc'}])

Parámetros:

  • preferencia (Hash) (predeterminado: {})

    La preferencia del servidor.

Desde:

  • 2.0.0



75
76
77
78
79
# Archivo 'lib/mongo/server_selector.rb', línea 75

def Obtener(preferencia = {})
  return preferencia Si PREFERENCIAS.values.¿incluir?(preferencia.clase)
  Mongo::Lint.validar_preferencia_de_lectura_de_subrayado(preferencia)
  PREFERENCIAS.Fetch((preferencia[:modo] || :primario).a_sym).Nuevo(preferencia)
end

#primarioObjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Devuelve el selector del servidor principal.

Una llamada a este método es equivalente a 'get(mode: :primary)`, excepto que el objeto selector de servidor resultante se almacena en caché y no se vuelve a crear cada vez.

Desde:

  • 2.0.0



87
88
89
# Archivo 'lib/mongo/server_selector.rb', línea 87

def primario
  @primario ||= Obtener(modo: :primario)
end