MongoDB副本集集群,golang与Java连接不同

https://www.jianshu.com/p/ebf24366243e

https://blog.csdn.net/m0_37635053/article/details/114696941?spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-13.queryctrv4&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-13.queryctrv4&utm_relevant_index=18

golang 使用MongoDB主从仲裁这种副本集集群,只需要配置主从节点的IP端口就行了,仲裁IP端口不能配;

而Java仲裁节点也要自己配。

例如:

按照3个节点来配置:A(primary)、B(secondary)、C(arbiter)
每个节点IP:

A节点: 11.11.11.11
B节点: 22.22.22.22
C节点: 33.33.33.33

数据库:bugs

副本集名称:rs0

golang连接mongoDB副本集集群:

package main
import (
    "os"
    "fmt"
    "github.com/globalsign/mgo"
)

func main() {
    // user, password, database, rs0分别为用户名、密码、数据库、副本集,请自行修改
    URL := "mongodb://user:password@11.11.11.11:27017,22.22.22.22:27017/bugs?replicaSet=rs0"
    session, err := mgo.Dial(URL)
    if err != nil {
        fmt.Println(err.Error())
        os.Exit(-1)
    }
    session.SetMode(mgo.Monotonic, true)//类似Java连接地址中的readPreference,golang地址中不支持此参数,通过setMode实现
    Conn := session.DB("")      // 获得 Mongodb的连接后,再就可以进行各种CRUD啦 }

java springboot中使用mongoDB

连接MongoDB副本集集群:

1.导包

 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-mongodb</artifactId>
 </dependency>

2.配置

spring:
  data:
    mongodb:
      uri: mongodb://mongo:123456@11.11.11.11:27017,22.22.22.22:27017,22.22.22.22:27017/bugs?replicaSet=rs0&readPreference=secondaryPreferred&connectTimeoutMS=300000

 



posted @ 2022-03-04 19:38  水木神舟10  阅读(539)  评论(0编辑  收藏  举报