在Java客户端中写入Mongo副本集的最低配置

在Java客户端中写入Mongo副本集的最低配置,java,mongodb,replicaset,mongo-java,mongo-java-driver,Java,Mongodb,Replicaset,Mongo Java,Mongo Java Driver,我是莫菲娅的新手。 我使用morphia和mongo-java-driver.jar通过java程序与副本集(集群需要它)通信。我在下面编写了示例程序: public static void createDBConnection() { try { List<ServerAddress> addrs = new ArrayList<ServerAddress>(); addrs.add( new ServerAddress( "

我是莫菲娅的新手。 我使用morphia和mongo-java-driver.jar通过java程序与副本集(集群需要它)通信。我在下面编写了示例程序:

public static void createDBConnection() {
    try {

        List<ServerAddress> addrs = new ArrayList<ServerAddress>();
         addrs.add( new ServerAddress( "192.168.1.80" , 27017 ) );
         addrs.add( new ServerAddress( "192.168.1.81" , 27017 ) );
         addrs.add( new ServerAddress( "192.168.1.82" , 27017 ) );

        MorphiaObject.mongo = new MongoClient(addrs);

        ReplicaSetStatus status = MorphiaObject.mongo.getReplicaSetStatus();
        List<String> dbs = MorphiaObject.mongo.getDatabaseNames();

        MongoOptions mongOptions = MorphiaObject.mongo.getMongoOptions();
        MorphiaObject.mongo.setWriteConcern(WriteConcern.REPLICAS_SAFE);
        MorphiaObject.mongo.setReadPreference(ReadPreference.secondaryPreferred());
        System.out.println("Read prefrence"+ MorphiaObject.mongo.getReadPreference());
    } catch (UnknownHostException e) {
        e.printStackTrace();

    }
}
公共静态void createDBConnection(){
试一试{
List addrs=new ArrayList();
addrs.add(新服务器地址(“192.168.1.80”,27017));
addrs.add(新服务器地址(“192.168.1.81”,27017));
addrs.add(新服务器地址(“192.168.1.82”,27017));
MorphiaObject.mongo=新的MongoClient(addrs);
ReplicateStatus status=MorphiaObject.mongo.getReplicateStatus();
List dbs=MorphiaObject.mongo.getDatabaseNames();
MongoOptions MongoOptions=MorphiaObject.mongo.getMongoOptions();
MorphiaObject.mongo.setWriteConcern(WriteConcern.replications_SAFE);
MorphiaObject.mongo.setReadPreference(ReadPreference.secondaryPreferred());
System.out.println(“读取优先权”+MorphiaObject.mongo.getReadPreference());
}捕获(未知后异常e){
e、 printStackTrace();
}
}
  • 如果我想在所有节点中安全地写入数据,那么需要采取哪些步骤
  • 我需要为复制副本设置的最低配置是什么
  • 检查副本集是否关闭或处于活动状态、是否可读需要哪些验证,如果应用程序或程序找不到主副本,我们如何管理

  • 最低限度一个具有选项集的服务器实例基本上被视为一个副本集,至少对于驱动程序而言,对于所有密集型目的而言是如此。无论如何,你“应该”在你的应用程序中使用。“服务器列表”只是一个“种子列表”,因为驱动程序将“自我发现”所有相关成员。“种子列表”的要点是提供连接选项,以防其中一台服务器在connect上停机。你的应用不需要在意。只需连接并让副本集解决所有问题,然后通知驱动程序。如果您想了解“副本集配置”,请继续询问。这就是讨论“数据库”而不是“编码”的地方。