Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在mongos下获取碎片_Mongodb_Sharding - Fatal编程技术网

Mongodb 在mongos下获取碎片

Mongodb 在mongos下获取碎片,mongodb,sharding,Mongodb,Sharding,我有一个到mongos实例的MongoConnection。Mongos在内部连接到三个碎片。是否有任何方法可以让我获得每个碎片的单独连接,或者至少获得碎片上的信息,以便我可以创建新的连接 我查看了MongoConnection类,没有发现任何与mongos相关的内容。 Mongo版本2.2和MongoDriver 1.3.1以及ruby语言 例如: Mongos是一个localhost:27107 在214.187.112.113:27107209.117.116.103:27107114.

我有一个到mongos实例的
MongoConnection
。Mongos在内部连接到三个碎片。是否有任何方法可以让我获得每个碎片的单独连接,或者至少获得碎片上的信息,以便我可以创建新的连接

我查看了
MongoConnection
类,没有发现任何与mongos相关的内容。

Mongo版本2.2和MongoDriver 1.3.1以及ruby语言

例如: Mongos是一个
localhost:27107
在214.187.112.113:27107209.117.116.103:27107114.117.162.123:27107有碎片


现在,我的
MongoConnection
变量已连接到
localhost:27107
是否有办法通过此连接创建到单个shard@214.187.11.113等的连接MongoDB集群带有3种类型的组件- 1.)配置服务器(mongod在此处运行) 2.)查询路由器(mongos在此运行) 3.)分片服务器(mongod在这里运行)

Mongos是MomgoDB提供的分片服务。 Mongo碎片服务器通过mongos注册到配置服务器

ex- sh.addShard( "mongo-shard-1:27017" )
sh.addShard( "mongo-shard-2:27017" )
将来,当任何请求(读/写)到达mongos时,它首先从配置服务器获取切分信息,然后客户机通过将其专用于适当的切分服务器来服务该请求

我不知道为什么要直接连接到shard服务器(mongos在集群设置中提供透明的连接)

因为每个shard服务器也运行mongod,所以您可以直接连接到它,但它将作为一个独立的MongoDB实例,而不是集群的一部分

如果你想控制切分,你可以按如下方式操作。

不太清楚您到底想做什么。很明显,你想编写一些代码,但你能确切地说明你希望这些代码做什么吗?@NeilLunn为问题补充了更多信息