模块:Mongo::ServerSelector

扩展方式:
ServerSelector
包含在:
ServerSelector
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/server_selector.rb ,
build/Ruby-driver-v 2.19 /lib/mongo/server_selector/base.rb,
build/Ruby-driver-v 2.19 /lib/mongo/server_selector/nearest.rb,
build/Ruby-driver-v 2.19 /lib/mongo/server_selector/primary.rb,
build/Ruby-driver-v 2 。 19 /lib/mongo/server_selector/secondary.rb,
build/Ruby-driver-v 2 . 19 /lib/mongo/server_selector/primary_preferred.rb,
build/Ruby-driver-v 2 . 19 /lib/mongo/server_selector/secondary_preferred.rb

Overview

使对象能够在给定偏好的情况下选择服务器的功能。

由于:

  • 2.0.0

在命名空间下定义

类: BaseNearestPrimaryPrimaryPreferredSecondarySecondaryPreferred

常量摘要折叠

LOCAL_THRESHOLD =

最近的服务器与考虑选择的其他服务器之间的最大延迟(以秒为单位)。

由于:

  • 2.0.0

0.015.冻结
SERVER_SELECTION_TIMEOUT =

在抛出异常之前,服务器选择的区块时间。

由于:

  • 2.0.0

30.冻结
SMALLEST_MAX_STALENESS_SECONDS =

允许的最小最大陈旧度值(以秒为单位)。

由于:

  • 2.4.0

90
主节点 =

主节点读取偏好。

由于:

  • 2.1.0

选项::已编辑.new(模式: :primary).冻结
Preferences =

基于符号对选择器类进行哈希查找

provided in configuration.

由于:

  • 2.0.0

{
  最近的: nearest,
  主节点: 主节点,
  primary_preferred: primaryPreferred,
  从节点: 从节点,
  secondary_preferred: secondaryPreferred
}.冻结

实例方法摘要折叠

实例方法详细信息

# get (preference = {}) ⇒对象

创建服务器选择器对象。

例子:

获取服务器选择器对象,用于选择从节点

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

参数:

  • 偏好 哈希 (默认为: {}

    服务器偏好。

由于:

  • 2.0.0



75
76
77
78
79
# File 'build/Ruby-driver-v 2.19 /lib/mongo/server_selector.rb', 第75行

def 获取(偏好 = {})
  return 偏好 if 偏好.values.包括?(偏好.class)
  mongo::Lint.validate_underscore_read_preference(偏好)
  偏好.获取((偏好[:mode] || :primary).to_sym).new(偏好)
end

#节点 ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

返回主服务器选择器。

调用此方法相当于 'get(mode: :primary)`,不同之处在于生成的服务器选择器对象会被缓存,而不是每次都重新创建。

由于:

  • 2.0.0



87
88
89
# File 'build/Ruby-driver-v 2.19 /lib/mongo/server_selector.rb', 第87行

def 主节点
  主节点 (primary node in the replica set) ||= 获取(模式: :primary)
end