Overview
Puedes configurar el Preferencia de lectura para un clúster de MongoDB Atlas vinculado para controlar el tipo de miembro del conjunto de réplicas al que Atlas App Services dirige las solicitudes de lectura de la base de datos. También puede especificar un conjunto de etiquetas para miembros específicos del conjunto de réplicas.
No se puede establecer la preferencia de lectura en una fuente de datos federada.
De forma predeterminada, App Services utiliza una preferencia de lectura de primary, que enruta todas las solicitudes de lectura a través del nodo principal de un conjunto de réplicas.
Cuándo especificar la preferencia de lectura
La preferencia de lectura predeterminada (primary) debería ser suficiente para la mayoría de los casos de uso. Considere especificar una preferencia de lectura de clúster cuando necesite hacer lo siguiente:
Leer desde un secundario específico que tenga una configuración personalizada, como un nodo de análisis con índices especiales optimizados para generar informes de cargas de trabajo.
Leer desde un nodo en una región específica de un conjunto de réplicas distribuidas globalmente.
Mantener la disponibilidad de lectura durante una conmutación por error de un conjunto de réplicas, es decir, continuar leyendo datos potencialmente obsoletos cuando no hay ningún nodo
primary.
Procedimiento
Navegue a la pantalla de configuración del clúster
Puede configurar la preferencia de lectura para un clúster vinculado desde la pantalla de configuración del clúster en la interfaz de usuario de App Services. Para acceder a la pantalla de configuración, haga clic en Linked Data Sources Debajo de Manage en el panel de navegación izquierdo. En la lista de fuentes de datos, seleccione el clúster en el que desea configurar la preferencia de lectura.
Especificar una preferencia de lectura de clúster
En la pantalla de configuración del clúster, seleccione un modo del menú desplegable Read Preference.

Están disponibles los siguientes modos de preferencia de lectura:
Modo | Descripción |
|---|---|
App Services dirige todas las operaciones de lectura al nodo principal del conjunto de réplicas actual. Este es el modo de preferencia de lectura predeterminado. | |
App Services dirige todas las operaciones de lectura al nodo principal del conjunto de réplicas actual, si está disponible. Si el nodo principal no está disponible, como durante una conmutación por error automática, las solicitudes de lectura se dirigen a un nodo secundario. | |
App Services dirige todas las operaciones de lectura a uno de los nodos secundarios del conjunto de réplicas actual. | |
App Services dirige todas las operaciones de lectura a uno de los nodos secundarios disponibles en el set de réplicas. Si no hay nodos secundarios disponibles, las solicitudes de lectura se dirigen al primario del set de réplicas. | |
App Services dirige las operaciones de lectura al miembro del conjunto de réplicas que tiene la latencia de red más baja en relación con el cliente. |
Especificar etiquetas de preferencia de lectura
Si especifica una preferencia de lectura distinta primary de, también puede especificar una o más etiquetas de preferencia de lectura. Para atender una solicitud de lectura, un miembro del conjunto de réplicas debe incluir todas las etiquetas de preferencia de lectura especificadas en la configuración de su nodo.
Nota
Conjuntos de etiquetas de clúster Atlas
Para especificar una etiqueta de preferencia de lectura, haga clic en Add Tag y luego ingrese las etiquetas Key y Value en la nueva fila de la tabla Read Preference Tags.

Obtenga la última versión de su aplicación
Para definir la preferencia de lectura de un clúster vinculado con la CLI de App Services, necesita una copia local de los archivos de configuración de su aplicación.
Para extraer una copia local de la última versión de su aplicación, ejecute lo siguiente:
appservices pull --remote="<Your App ID>"
Tip
También puedes descargar una copia de los archivos de configuración de tu aplicación desde la pantalla Deploy > Export App en la Interfaz de usuario Realm.
Especificar una preferencia de lectura de clúster
Para configurar la preferencia de lectura de un clúster vinculado, abra el archivo config.json del clúster y configure el valor de config.readPreference:
{ "name": "<MongoDB Service Name>", "type": "mongodb-atlas", "config": { "readPreference": "<Read Preference Mode>" } }
Están disponibles los siguientes modos de preferencia de lectura:
Modo | Descripción |
|---|---|
App Services dirige todas las operaciones de lectura al nodo principal del conjunto de réplicas actual. Este es el modo de preferencia de lectura predeterminado. | |
App Services dirige todas las operaciones de lectura al nodo principal del conjunto de réplicas actual, si está disponible. Si el nodo principal no está disponible, como durante una conmutación por error automática, las solicitudes de lectura se dirigen a un nodo secundario. | |
App Services dirige todas las operaciones de lectura a uno de los nodos secundarios del conjunto de réplicas actual. | |
App Services dirige todas las operaciones de lectura a uno de los nodos secundarios disponibles en el set de réplicas. Si no hay nodos secundarios disponibles, las solicitudes de lectura se dirigen al primario del set de réplicas. | |
App Services dirige las operaciones de lectura al miembro del conjunto de réplicas que tiene la latencia de red más baja en relación con el cliente. |
Especificar etiquetas de preferencia de lectura
Si especifica una preferencia de lectura distinta primary de, también puede especificar una o más etiquetas de preferencia de lectura. Para atender una solicitud de lectura, un miembro del conjunto de réplicas debe incluir todas las etiquetas de preferencia de lectura especificadas en la configuración de su nodo. Para especificar un conjunto de etiquetas de preferencia de lectura para un clúster, asegúrese de haber especificado un readPreference distinto de primary y, a continuación, agregue uno o más objetos de definición de etiqueta config.readPreferenceTagSets a:
{ "name": "<MongoDB Service Name>", "type": "mongodb-atlas", "config": { "readPreference": "<Read Preference Mode (other than primary)>", "readPreferenceTagSets": [ { <Tag Key>: <Tag Value> }, ... ], } }
Nota
Conjuntos de etiquetas de clúster Atlas
Los clústeres Atlas se configuran con conjuntos de etiquetas predefinidos para cada nodo miembro, según su tipo. Para obtener información detallada sobre qué etiquetas son nodos definidos en un clúster Atlas, consulte Etiquetas del conjunto de réplicas de Atlas.
Implementar la configuración de fuente de datos actualizada
Una vez configurada la preferencia de lectura para el clúster, puede enviar la configuración actualizada a su aplicación remota. La CLI de App Services implementa la actualización inmediatamente al enviarla.
appservices push --remote="<Your App ID>"