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