类:Mongo::Cluster::Topology::ReplicaSetNoPrimary

继承:
Base
  • 对象
显示全部
定义于:
lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb

Overview

定义当集群处于副本集拓扑结构且没有主节点或驱动程序尚未发现主节点时的行为。

由于:

  • 2.0.0

直接已知子类

ReplicaSetWithPrimary

常量摘要折叠

NAME =
已弃用。

拓扑的显示名称。

由于:

  • 2.0.0

'副本集(Replica Set)'

Loggable中包含的常量

Loggable::PREFIX

实例属性摘要

Base继承的属性

#compatibility_error#logic_session_timeout#monitoring#options#server_descriptions

包含在Monitoring::Publishable 中的属性

#monitoring

实例方法摘要折叠

Base继承的方法

#addresses #兼容? , #data_ Bearing_servers? #initialize #max_election_id #max_set_version #new_max_election_id #new_max_set_version #replica_set_name #server_hosts_match_any?

Monitoring::Publishable 中包含的方法

#publish_cmap_event#publish_event#publish_sdam_event

Loggable中包含的方法

#log_debug#log_error#log_ Fatal#log_info#log_warn#logger

构造函数详情

该类从Mongo::Cluster::Topology::Base继承了一个构造函数

实例方法详细信息

#display_namestring

获取显示名称。

例子:

获取显示名称。

ReplicaSet.display_name

返回:

  • ( string )

    显示名称。

由于:

  • 2.0.0



40
41
42
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 40

def 显示名称
  self.class.名称.gsub(/ .*:: /, ' ')
end

# has_read_server? (cluster, server_selector = nil) ⇒ true , false

已弃用。

确定拓扑是否会为提供的候选和读取偏好选择可读服务器。

例子:

是否存在可读服务器?

topology.has_readable_server?(cluster, server_selector)

参数:

  • 集群 (集群)

    集群。

  • server_selector ( ServerSelector ) (默认为: nil

    服务器选择器。

返回:

  • ( true , false )

    如果存在可读服务器。

由于:

  • 2.4.0



71
72
73
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 71

def has_read_server?(集群, server_selector = nil)
  !(server_selector || ServerSelector.主节点).try_select_server(集群).nil?
end

# has_writable_server? (cluster) ⇒ true , false

确定拓扑结构是否会为提供的候选服务器选择可写服务器。

例子:

是否存在可写服务器?

topology.has_writable_server?(servers)

参数:

  • 集群 (集群)

    集群。

返回:

  • ( true , false )

    如果存在可写服务器。

由于:

  • 2.4.0



86
87
88
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 86

def has_writable_server?(集群)
  !ServerSelector.主节点.try_select_server(集群).nil?
end

# replica_set?true

副本集拓扑结构是一个副本集。

例子:

此拓扑是副本集吗?

topology.replica_set?

返回:

  • ( true )

    始终为 true。

由于:

  • 2.0.0



98
99
100
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 98

def replica_set?
  true
end

#servers ( servers ) ⇒数组 < MongoDB Server >

为此拓扑结构选择适当的服务器。

例子:

选择服务器。

ReplicaSet.servers(servers)

参数:

返回:

由于:

  • 2.0.0



112
113
114
115
116
117
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 112

def 服务器(服务器)
  服务器.SELECT do |server|
    ((replica_set_name.nil? || server.replica_set_name == replica_set_name) &&
      server.主节点?) || server.从节点(secondary node from replica set)?
  end
end

# sharded?false

副本集拓扑结构未进行分片。

例子:

拓扑结构是否分片?

ReplicaSet.sharded?

返回:

  • ( false )

    始终为 false。

由于:

  • 2.0.0



127
128
129
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 127

def 分片的?
  false
end

# single?false

副本集拓扑不是单一的。

例子:

拓扑结构是否单一?

ReplicaSet.single?

返回:

  • ( false )

    始终为 false。

由于:

  • 2.0.0



139
140
141
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 139

def 单身?
  false
end

#摘要对象

注意:

此方法是实验性的,可能会发生变化。

由于:

  • 2.7.0



48
49
50
51
52
53
54
55
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 48

def 总结
  详情 = server_descriptions.密钥.连接 (JOIN)(' , ')
  详情 << ' , ' if 详情 != ' '
  详情 << " name= #{ replica_set_name } "
  详情 << " ,v= #{ max_set_version } " if max_set_version
  详情 << " ,e= #{ max_election_id && max_election_id . to_s . sub ( / ^ 0 + / , ' ' ) } " if max_election_id
  " #{ display_name } [ #{ details } ] "
end

#未知?false

副本集拓扑结构并非未知。

例子:

拓扑结构未知?

ReplicaSet.unknown?

返回:

  • ( false )

    始终为 false。

由于:

  • 2.0.0



151
152
153
# File 'lib/ Mongo/ 集群/ 拓扑结构/replica_set_no_primary.rb', line 151

def 未知?
  false
end