| 设为首页 加入收藏 |
当前位置: |
| TOP | ||||||||
|
搭建高可用mongodb集群(二)――副本(四)
再启动原来的主节点 138,发现138 变为 SECONDARY,还是137 为主节点 PRIMARY。
8、java程序连接副本集测试。三个节点有一个节点挂掉也不会影响应用程序客户端对整个副本集的读写!
目前看起来支持完美的故障转移了,这个架构是不是比较完美了?其实还有很多地方可以优化,比如开头的第二个问题:主节点的读写压力过大如何解决?常见的解决方案是读写分离,mongodb副本集的读写分离如何做呢? 看图说话:
常规写操作来说并没有读操作多,所以一台主节点负责写,两台副本节点负责读。 1、设置读写分离需要先在副本节点SECONDARY 设置 setSlaveOk。 2、在程序中设置副本节点负责读操作,如下代码:
读参数除了secondary一共还有五个参数:primary、primaryPreferred、secondary、secondaryPreferred、nearest。
primary:默认参数,只从主节点上进行读取操作; primaryPreferred:大部分从主节点上读取数据,只有主节点不可用时从secondary节点读取数据。 secondary:只从secondary节点上进行读取操作,存在的问题是secondary节点的数据会比primary节点数据“旧”。 secondaryPreferred:优先从secondary节点进行读取操作,secondary节点不可用时从主节点读取数据; nearest:不管是主节点、secondary节点,从网络延迟最低的节点上读取数据。 好,读写分离做好我们可以数据分流,减轻压力解决了“主节点的读写压力过大如何解决?”这个问题。不过当我们的副本节点增多时,主节点的复制压力会加大有什么办法解决吗?mongodb早就有了相应的解决方案。 看图: |
| 首页 上一页 1 2 3 4 5 下一页 尾页 4/5/5 | |
| 【大 中 小】【打印】 【繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部】 | |
|
分享到:
|
|
| 上一篇:CRS-0223:Resource'ora.host2.. | 下一篇:oracle_11g表+数据完美迁移到10g.. |
| 评论 |
|
|
| ·求navicat for mysql | (2025-12-26 13:21:33) |
| ·有哪位大哥推荐一下m | (2025-12-26 13:21:30) |
| ·MySQL下载与安装教程 | (2025-12-26 13:21:26) |
| ·Linux_百度百科 | (2025-12-26 12:51:52) |
| ·Shell 流程控制 | 菜 | (2025-12-26 12:51:49) |