gpt4 book ai didi

database - 通过删除的成员连接到副本集成员

转载 作者:可可西里 更新时间:2023-11-01 09:32:47 24 4
gpt4 key购买 nike

我有一个包含 3 个成员的简单副本集

rs.status() 的输出

{
...,
"members" : [
{
"_id": 1,
"name": "localhost:27021",
"stateStr": "PRIMARY",
},
{
"_id": 2,
"name": "localhost:27022",
"stateStr": "SECONDARY",
},
{
"_id": 3,
"name": "localhost:27023",
"stateStr": "SECONDARY",
}
]
}

我删除了一个成员

rs.remove("localhost:27023")

现在 rs.status()

{
...,
"members" : [
{
"_id": 1,
"name": "localhost:27021",
"stateStr": "PRIMARY",
},
{
"_id": 2,
"name": "localhost:27022",
"stateStr": "SECONDARY",
},
]
}

现在我使用了一个带有删除实例的 mongodb 连接 URL。成功连接到副本集成员!!

var url = 'mongodb://localhost:27023/myproject?replicaSet=rs0';
MongoClient.connect(url, function(err, db) {
console.log("Connected correctly to server");
db.close();
});

我可以看到与副本集成员(localhost:27022 和 localhost:27023)建立了连接

2019-04-17T18:59:04.727+0900 I NETWORK  [thread1] connection accepted from 127.0.0.1:53284 #6 (3 connections now open)
2019-04-17T18:59:04.727+0900 I NETWORK [conn6] received client metadata from 127.0.0.1:53284 conn6: { driver: { name: "nodejs", version: "3.2.3" }, os: { type: "Linux", name: "linux", architecture: "x64", version: "4.15.0-47-generic" }, platform: "Node.js v10.15.0, LE, mongodb-core: 3.2.3" }
2019-04-17T18:59:04.736+0900 I - [conn6] end connection 127.0.0.1:53284 (3 connections now open)
2019-04-17T18:59:35.334+0900 I ASIO [NetworkInterfaceASIO-RS-0] Ending idle connection to host localhost:27021 because the pool meets constraints; 1 connections to that host remain open

谁能解释一下?通过删除的成员连接到副本集成员。在任何文档中都找不到任何解释。

最佳答案

这是司机的行为。默认情况下,连接到副本集的客户端将尝试连接到主节点。在这种情况下,连接到 mongodb://localhost:27023/myproject?replicaSet=rs0 将首先连接到 localhost:27023 并检查连接的节点是否是 master/primary , 使用命令 {isMaster: 1}。从结果中,它检测到 localhost:27023 不是主节点/主节点,但它还有其他可用的节点信息。接下来的步骤是连接到其他节点,直到找到主节点。

你应该关闭 localhost:27023,它甚至不会连接。

关于database - 通过删除的成员连接到副本集成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55728443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com