cuốn sách gpt4 ai đã làm

MongoDB ReplicaSet - 当只剩下 PRIMARY 时,PRIMARY 角色降为 SECONDARY

In lại Tác giả: Hồ Xil 更新时间:2023-11-01 09:18:16 35 4
mua khóa gpt4 Nike

我正在研究使用 MongoDB ReplicaSet 实现高可用性。

但是刚刚发现在3个节点的ReplicaSet中,如果PRIMARY mongod是唯一剩下的(也就是另外2个mongod实例死亡或者被关闭),然后在几秒后它切换角色到SECONDARY 并不再接受写入。这使得副本集的值(value)低于单个实例。

我知道并理解 PRIMARY 选举,但是 PRIMARY 角色被固定到一个服务器(通过使用 priority 设置为 10)和(例如由于网络问题)其他服务器成为无法访问,为什么主服务器就放弃了?!

在 Windows (mongodb-win32-x86_64-2008plus-2.4.8) 和 Linux (CentOS) 上使用 2.4.8 以及在 Linux 上使用 2.0.x 进行测试

赏金开始:

如果副本集在 PRIMARY 感到孤独时放弃,有什么替代方案可以确保 100% 的可用性?或者可能需要针对该案例进行特殊配置。当前的实现使得 ReplicaSet 在出现网络问题时变得脆弱。

gia hạn:

唉,我之前没有说过#3 宕机的场景(剩下 PRIMARY 和 SECONDARY)过了一会儿,SECONDARY 下降了。然后 PRIMARY 真的只是“放弃”,因为已经知道 #3 有一段时间不可用了。这实际上是在我的测试环境中测试的。

var rsconfig = {"_id":"rs4","members":[{"_id":0,"host":"localhost:27041","priority":10},{"_id":1,"host":"localhost:27042"},{"_id":2,"host":"localhost:27043","arbiterOnly":true}]}
printjson(rsconfig)
rs.initiate(rsconfig)

我们最初想把 SECONDARY 和#3(也就是 ARBITER)放在同一台服务器上,但是由于标题的问题,我们不能使用这样的配置。

感谢 Alan Spencer 首先解释了 MongoDB 采用的逻辑。

câu trả lời hay nhất

这是预料之中的,因为大多数成员都关闭了 MongoDB 不假定最后剩下的成员是一致的。

当您拥有大多数成员时,有几个选项:http://docs.mongodb.org/manual/tutorial/reconfigure-replica-set-with-unavailable-members/

关于MongoDB ReplicaSet - 当只剩下 PRIMARY 时,PRIMARY 角色降为 SECONDARY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20001056/

35 4 0
Hồ Xil
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress