From b0a5b7ffe9b098fb42c864c9d676a09a2f5762e6 Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 14 Jun 2022 19:28:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96mgo=E9=A9=B1=E5=8A=A8?= =?UTF-8?q?=E5=BA=93=E9=BB=98=E8=AE=A4=E9=85=8D=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lego/sys/mgo/mgo.go | 22 ++++++++++------------ lego/sys/mgo/options.go | 4 ++-- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/lego/sys/mgo/mgo.go b/lego/sys/mgo/mgo.go index 6fb81cdf9..f35e2fa7d 100644 --- a/lego/sys/mgo/mgo.go +++ b/lego/sys/mgo/mgo.go @@ -3,7 +3,6 @@ package mgo import ( "context" "fmt" - "time" "go_dreamfactory/lego/core" @@ -12,7 +11,6 @@ import ( "go.mongodb.org/mongo-driver/mongo/options" "go.mongodb.org/mongo-driver/mongo/readconcern" "go.mongodb.org/mongo-driver/mongo/readpref" - "go.mongodb.org/mongo-driver/mongo/writeconcern" ) func newSys(options Options) (sys *Mongodb, err error) { @@ -28,20 +26,20 @@ type Mongodb struct { } func (this *Mongodb) init() (err error) { - want, err := readpref.New(readpref.SecondaryMode) //表示只使用辅助节点 - if err != nil { - return fmt.Errorf("数据库设置辅助节点 err=%s", err.Error()) - } - wc := writeconcern.New(writeconcern.WMajority()) + // want, err := readpref.New(readpref.SecondaryMode) //表示只使用辅助节点 + // if err != nil { + // return fmt.Errorf("数据库设置辅助节点 err=%s", err.Error()) + // } + // wc := writeconcern.New(writeconcern.W(1)) readconcern.Majority() //链接mongo服务 opt := options.Client().ApplyURI(this.options.MongodbUrl) - opt.SetLocalThreshold(3 * time.Second) //只使用与mongo操作耗时小于3秒的 - opt.SetMaxConnIdleTime(5 * time.Second) //指定连接可以保持空闲的最大毫秒数 + // opt.SetLocalThreshold(3 * time.Second) //只使用与mongo操作耗时小于3秒的 + // opt.SetMaxConnIdleTime(5 * time.Second) //指定连接可以保持空闲的最大毫秒数 opt.SetMaxPoolSize(this.options.MaxPoolSize) //使用最大的连接数 - opt.SetReadPreference(want) //表示只使用辅助节点 - opt.SetReadConcern(readconcern.Majority()) //指定查询应返回实例的最新数据确认为,已写入副本集中的大多数成员 - opt.SetWriteConcern(wc) //请求确认写操作传播到大多数mongod实例 + // opt.SetReadPreference(want) //表示只使用辅助节点 + // opt.SetReadConcern(readconcern.Majority()) //指定查询应返回实例的最新数据确认为,已写入副本集中的大多数成员 + // opt.SetWriteConcern(wc) //请求确认写操作传播到大多数mongod实例 if client, err := mongo.Connect(this.getContext(), opt); err != nil { return fmt.Errorf("连接数据库错误 err=%s", err.Error()) } else { diff --git a/lego/sys/mgo/options.go b/lego/sys/mgo/options.go index 18c1b95ae..0abb5c603 100644 --- a/lego/sys/mgo/options.go +++ b/lego/sys/mgo/options.go @@ -40,7 +40,7 @@ func SetTimeOut(v time.Duration) Option { func newOptions(config map[string]interface{}, opts ...Option) Options { options := Options{ - MaxPoolSize: 1000, + MaxPoolSize: 100, TimeOut: time.Second * 3, } if config != nil { @@ -54,7 +54,7 @@ func newOptions(config map[string]interface{}, opts ...Option) Options { func newOptionsByOption(opts ...Option) Options { options := Options{ - MaxPoolSize: 1000, + MaxPoolSize: 100, TimeOut: time.Second * 3, } for _, o := range opts {