微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB Atlas连接-前往主数据中心的流量

如何解决MongoDB Atlas连接-前往主数据中心的流量

我使用以下Go语言编写的函数连接到MongoDB

func Connect() (client *mongo.Client) {
    s = "mongodb+srv://" + os.Getenv("MONGO_ATLAS_USER_NAME") + ":" + os.Getenv("MONGO_ATLAS_PASSWORD") + "@" + os.Getenv("MONGO_ATLAS_HOST")
    cwt,_ := strconv.Atoi(os.Getenv("CONTEXT_WAIT_TIME"))
    ctx,cn := context.WithTimeout(context.Background(),time.Duration(rand.Intn(cwt))*time.Second)
    defer cn()
    options := options.Client().ApplyURI(s).SetReadPreference(readpref.Secondary()).SetReadConcern(readconcern.Local())
    options.SetMaxPoolSize(5000)
    client,e := mongo.Connect(ctx,options)
    Checkerror(e)
    e = client.Ping(ctx,readpref.Secondary())
    Checkerror(e)
    return
}

它应该将所有请求发送到Secondary数据中心,但是所有Read IOPSPrimary实例上可见。

我想将所有读取的查询发送到副本。

我已经检查了此文档,并按照建议设置了Read Preference https://docs.atlas.mongodb.com/reference/replica-set-tags/index.html

这是我的仪表板上的结果。所有读取的查询都将转到主实例,并导致disks IOPS峰值

enter image description here

我缺少什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。