package config import ( "app.yhyue.com/moapp/jyResourcesCenter/rpc/resourcesCenterclient" qu "app.yhyue.com/moapp/jybase/common" "app.yhyue.com/moapp/jybase/mongodb" "app.yhyue.com/moapp/jybase/mysql" "app.yhyue.com/moapp/jybase/redis" "github.com/zeromicro/go-zero/core/discov" "github.com/zeromicro/go-zero/zrpc" "log" ) var ( Config *config ResourcesRpc resourcesCenterclient.ResourcesCenter Mysql *mysql.Mysql Mgo_qfw *mongodb.MongodbSim Tidb *mysql.Mysql ) type etcdConf struct { Hosts []string Key string ResourcesKey string } type config struct { ResourceEtcdConf etcdConf `json:"resourceEtcdConf"` RedisAddrees string `json:"redisAddrees"` GivePool int64 `json:"givePool"` Mysql *mysqlConf `json:"mysql"` Mongodb struct { Qfw *mongo `json:"qfw"` } `json:"mongodb"` Tidb *mysqlConf `json:"tidb"` } type mysqlConf struct { DbName string Address string UserName string PassWord string MaxOpenConns int MaxIdleConns int } type mongo struct { Address string Size int DbName string ReplSet string UserName string Password string } func Init() { //程序配置文件 qu.ReadConfig(&Config) log.Println("初始化 mysql main") //redis初始化 resourcesRpcClient := zrpc.MustNewClient(zrpc.RpcClientConf{ Etcd: discov.EtcdConf{ Hosts: Config.ResourceEtcdConf.Hosts, Key: Config.ResourceEtcdConf.ResourcesKey, }, }) ResourcesRpc = resourcesCenterclient.NewResourcesCenter(resourcesRpcClient) redis.InitRedisBySize(Config.RedisAddrees, 100, 30, 300) Mysql = &mysql.Mysql{ Address: Config.Mysql.Address, UserName: Config.Mysql.UserName, PassWord: Config.Mysql.PassWord, DBName: Config.Mysql.DbName, MaxOpenConns: Config.Mysql.MaxOpenConns, MaxIdleConns: Config.Mysql.MaxIdleConns, } Mysql.Init() Mgo_qfw = &mongodb.MongodbSim{ MongodbAddr: Config.Mongodb.Qfw.Address, Size: Config.Mongodb.Qfw.Size, DbName: Config.Mongodb.Qfw.DbName, } Mgo_qfw.InitPool() Tidb = &mysql.Mysql{ Address: Config.Tidb.Address, UserName: Config.Tidb.UserName, PassWord: Config.Tidb.PassWord, DBName: Config.Tidb.DbName, MaxOpenConns: Config.Tidb.MaxOpenConns, MaxIdleConns: Config.Tidb.MaxIdleConns, } Tidb.Init() }