请教一个 mongodb 的小白问题 复制集绕了我半天结果发现不是一码事儿

2018-09-27 18:32:00 +08:00
 JCZ2MkKb5S8ZX9pq

现状

需求

自动化省事点的,请高手指教下~

3156 次点击
所在节点    MongoDB
4 条回复
akalxs
2018-10-16 15:05:43 +08:00
复制集。

复制集最少需要三个个实例,通过 oplog 拉取复制。
所以你两台电脑,家里爬虫用的那台部署两个实例,跑业务的部署一个,形成一个复制集。

家里的两个实例随便一个指定为 primary,提供写操作。剩下两个为 secondary。
你跑业务的 mbp 一入家中的网,会自动拉取数据,你带出去后也不影响家里的读写。
JCZ2MkKb5S8ZX9pq
2018-10-16 15:13:59 +08:00
@akalxs 如果

机器 A 为 Primary,同时机器 A 上运行一个 Arbiter。
这台机器主要爬取数据。
机器 B 不在线时,这台机器运行复制集中的 2 个(2/3),应该没有问题。

但是,
机器 B 作为 Secondary。
那么机器 B 带出去的时候,3 个复制集只有 1 个在机器 B 上,会不会导致 mongo 运行不起来?
akalxs
2018-10-16 15:32:49 +08:00
@JCZ2MkKb5S8ZX9pq
不会,你跑业务的时我相信不会对 B 的那台进行写入,所以只要你开启读写分离 slaveok,那你带出去演示的时候读是没问题的。
JCZ2MkKb5S8ZX9pq
2018-10-16 17:52:23 +08:00
@akalxs OK,那我试试。感谢。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/493275

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX