Recomendamos seguir estas prácticas recomendadas para garantizar un rendimiento óptimo y una experiencia de usuario fluida.
For related information about service limitations, refer to Service Limitations.
Configuración del clúster Atlas
- Utiliza un clúster Atlas dedicado
Las aplicaciones de producción deben utilizar, como mínimo, un
M10Clúster dedicado. Según su caso de uso, podría necesitar actualizar a un nivel superior para obtener un rendimiento óptimo.Si usa un clúster
M0compartido,M2como,M5o, podría experimentar problemas de rendimiento debido a recursos limitados y conflictos con otros usuarios. Si actualiza de un nivel compartido a uno dedicado después de pasar a producción, deberá finalizar Device Sync y restablecer o reinstalar todas las aplicaciones cliente.- Atlas oplog
- La sincronización del dispositivo requiere acceso a un Registro de operaciones basado en tiempo para su clúster sincronizado. Todos los clústeres Atlas nuevos lo ofrecen de forma predeterminada. Para obtener mejores resultados, mantenga 48 horas de registro de operaciones para un clúster que utilice Sincronización de dispositivos.
- Versión de MongoDB
- Use the latest version of MongoDB, if possible. Some Device Sync optimizations use new MongoDB version features and enhancements.
- Versión mínima de MongoDB de NVMe
- Si su clúster se ejecuta en hardware que usa almacenamiento NVMe, debe usar MongoDB versión 6.0 o posterior para las aplicaciones de producción de Device Sync.
- Desactive o gestione la validación de esquemas incorporada
A schema in App Services is not the same as MongoDB's built-in schema validation. Device Sync may interact with your cluster in a way that is incompatible with a built-in schema.
Si usa la validación de esquemas en su clúster, debería deshabilitarla y priorizar los esquemas de App Services o administrar las dos capas de validación de esquemas para que sean compatibles. Para obtener más información, consulte Validación de esquemas de App Services vs. Validación de esquemas integrada.
Configuración de servicios de aplicaciones
- Deployment model and geographic regions
- Utiliza un modelo de implementación local al crear una aplicación de Device Sync. Configura tu aplicación y la fuente de datos MongoDB para que se ejecuten dentro de la misma región geográfica y proveedor de nube.
- Define a client maximum offline time
- El backend de Servicios de aplicación utiliza un historial de cambios en los datos subyacentes para sincronizar los clientes. Configura un tiempo máximo offline del cliente para controlar la cantidad de días de historial almacenados por tu aplicación. Los clientes que no se hayan sincronizado en más de esa cantidad de días deben realizar un restablecimiento del cliente la siguiente vez que se conecten al backend.
Client Application Code
- Definir un manejador de restablecimiento del cliente
- To recover from a serious error conditions where the client and server histories diverge, you should define a client reset handler when you open each synced realm with an SDK.
Modelo de datos y esquema
- Evite cambios disruptivos
- Once you've enabled Sync, there are limitations on how you can modify your data model. Specifically, Sync does not support breaking changes to your object types such as changing a given property's type. If you want to make a breaking change you need to terminate and re-enable Sync with the updated data models.
- Consistencia de datos del esquema de App Services
- If you create or modify Device Sync documents using another tool, such as the mongosh shell or MongoDB Compass, be sure the documents validate against the App Services Schema for the collection. For more information, see Unsynced Documents.
Performance Best Practices
- Pruebas de carga de producción
- Measure performance and identify issues in a scaled-up production deployment with Sync Production Load Testing.
- Escribir el tamaño de la transacción
- Al escribir grandes cantidades de datos, considere usar varias transacciones de escritura pequeñas en lugar de una sola transacción más grande. Según la versión y configuración de su clúster Atlas, MongoDB podría rechazar transacciones de escritura superiores a 16 MB y provocar un error en la sincronización.