Overview
MongoDB Ruby驱动程序在选择要从中读取或写入的服务器时,会遵循定义的算法或客户端选项中定义的读取偏好(read preference)。
服务器选择算法
当Ruby驾驶员执行读取操作时,它会按顺序执行以下步骤,以选择MongoDB 部署:
从已知服务器列表中, Ruby驾驶员选择与主动读取偏好(read preference)匹配的所有服务器。
Ruby驾驶员会从列表中删除所有不符合
localThresholdMS连接设置条件的服务器,并返回更新后的列表。Ruby驾驶员从仍在列表中的服务器中随机选择一个服务器,并对该服务器执行操作。
当Ruby驾驶员执行写入操作时,它首先会选择所有可写入的服务器,而不仅仅是那些与活动读取偏好(read preference)匹配的服务器。其余步骤相同。
要学习;了解有关服务器选择算法的更多信息,请参阅MongoDB Server手册中的 服务器选择算法。
自定义MongoDB Server选择
对于副本集,您可以选择读取偏好(read preference)来确定Ruby驾驶员从哪个成员读取。有关如何配置读取偏好(read preference)的更多信息,请参阅配置增删改查操作指南的 读取偏好 部分。
API 文档
有关Ruby驱动程序的服务器选择算法的更多信息,请参阅以下API文档: