Docs 菜单
Docs 主页
/ /
Atlas App Services
/ /

Device Sync 生产检查清单

在此页面上

  • Atlas 集群配置
  • App Services 配置
  • 客户端应用程序代码
  • Realm 数据模型和模式
  • 性能最佳实践

我们建议遵循这些最佳实践,以确保最佳性能和流畅的用户体验。

有关服务限制的相关信息,请参阅服务限制。

使用专用 Atlas 集群

生产应用程序应至少使用M10专用集群。 根据您的使用案例,您可能需要升级到更高层级才能获得最佳性能。

如果您使用共享集群,例如M0M2M5 ,则可能会由于资源有限以及与其他用户的争用而遇到性能问题。 如果在Go到生产后从共享层级升级到专用层级,则需要终止 Device Sync并重置或重新安装所有应用程序。

Atlas oplog
Device Sync需要访问权限同步集群的基于时间的oplog 。 默认,所有新的Atlas集群都提供此功能。 为获得最佳结果,请使用Device Sync为集群保留48小时的oplog 。
MongoDB 版本
尽可能使用最新版本的 MongoDB。 某些 Device Sync 优化使用新的 MongoDB 版本功能和增强功能。
NVMe 最低 MongoDB 版本
如果集群在使用NVMe 存储的硬件上运行,则必须为Device Sync生产应用程序使用MongoDB 6.0或更高版本。
禁用或托管内置模式验证

App Services中的模式MongoDB 的内置模式验证不同。 Device Sync可能会以与内置模式不兼容的方式与集群交互。

如果在集群上使用模式验证,则应将其禁用以支持 App Services 模式,或者托管两个模式验证层以使其兼容。有关详细信息,请参阅App Services 模式与内置模式验证。

部署模型和地区
构建 Device Sync 应用程序时使用本地部署模型。 将应用和 MongoDB 数据源配置为在同一地理区域和云提供商内运行。
定义客户端最长离线时间
App Services 后端使用基础数据更改历史记录来同步客户端。 配置客户端最大离线时间以控制应用程序存储的历史记录天数。 超过该天数未同步的客户端必须在下次连接后端时执行客户端重置。
定义客户端重置处理程序
要从服务器和域历史记录不一致的严重错误情况中恢复,应在使用 SDK 打开每个同步域时定义客户端重置处理程序。
避免破坏性变更 (breaking change)
启用同步后,修改Realm 数据模型的方式就会受到限制。具体来说,Sync 不支持对 Realm 对象类型进行破坏性变更 (breaking change),例如更改给定属性的类型。如果要进行破坏性变更 (breaking change),则需要终止并重新启用与更新的Realm 数据模型的同步。
App Services 模式数据一致性
如果使用其他工具(例如mongoshshell 或 )创建或修改Device SyncMongoDB Compass 文档,请确保文档根据集合的App Services模式进行验证。有关更多信息,请参阅未同步的文档。
生产负载测试
通过同步生产负载测试来衡量性能并在扩大的生产部署中发现问题。
写事务(write transaction)大小
写入大量数据时,请考虑使用多个小型写事务(write transaction),而不是单个较大的事务。根据您的 Atlas 集群版本和配置,大于 16MB 的写事务(write transaction)可能会被 MongoDB 拒绝,并导致同步操作失败。

后退

使用同步功能进入生产阶段