NutzCN Logo
精华 mongodb集群后,nutzmongodb应如何应对
发布于 2948天前 作者 苍蓝猛兽 2062 次浏览 复制 上一个帖子 下一个帖子
标签:

测试场景
1.3台服务器
2.代码中循环查询。
3.kill掉非仲裁服务器的一台

测试结果
查询结束

预期结果
继续查询

应如何面对这种情况????

9 回复

这是驱动怎么配置的问题吧?就是那个ioc js文件得改成多服务器

@wendal 给个模板,哈哈哈。

还有一个问题,就是这些操作的日志如何打印????

其实你需要的是转化为ioc配置的技能, 对应的工厂方法是这样的

    public static ZMongo me(List<ServerAddress> sas,
                            List<MongoCredential> creds,
                            MongoClientOptions mopt) {
        return new ZMongo(sas, creds, mopt);
    }

随手写一个,你试试行不行吧

mongo_serv1 : {
     type : "com.mongodb.ServerAddress",
	 args : ["127.0.0.1", 30000]
},
mongo_serv2 : {
     type : "com.mongodb.ServerAddress",
	 args : ["127.0.0.1", 31000]
},
mongo_serv3 : {
     type : "com.mongodb.ServerAddress",
	 args : ["127.0.0.1", 32000]
},
zMongo : {
    args : [[{refer:"mongo_serv1"}, {refer:"mongo_serv2"}, {refer:"mongo_serv3"}], {}, null],
    factory : "org.nutz.mongo.ZMongo#me"
}

@wendal 初始化失败了哦

FAIL TO create Ioc Bean name=[zMogo]

试了一种方式,但不是很好

就是捕获连接异常,待副节点转为主节点后,可以正常查询。

@wendal 修改了一下配置

zMongo : {
	    args : [[{refer:"mongo_serv1"}, {refer:"mongo_serv2"},{refer:"mongo_serv3"}], [], null],
	    factory : "org.nutz.mongo.ZMongo#me"
	}

可以正常跑,当停掉主节点后,仍然无法继续查询。。。

已添加 基于Mongo URI 生成ZMongo

添加回复
请先登陆
回到顶部