config.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. package config
  2. import (
  3. "app.yhyue.com/moapp/jyResourcesCenter/rpc/resourcesCenterclient"
  4. qu "app.yhyue.com/moapp/jybase/common"
  5. "app.yhyue.com/moapp/jybase/mongodb"
  6. "app.yhyue.com/moapp/jybase/mysql"
  7. "app.yhyue.com/moapp/jybase/redis"
  8. "github.com/zeromicro/go-zero/core/discov"
  9. "github.com/zeromicro/go-zero/zrpc"
  10. "log"
  11. )
  12. var (
  13. Config *config
  14. ResourcesRpc resourcesCenterclient.ResourcesCenter
  15. Mysql *mysql.Mysql
  16. Mgo_qfw *mongodb.MongodbSim
  17. Tidb *mysql.Mysql
  18. )
  19. type etcdConf struct {
  20. Hosts []string
  21. Key string
  22. ResourcesKey string
  23. }
  24. type config struct {
  25. ResourceEtcdConf etcdConf `json:"resourceEtcdConf"`
  26. RedisAddrees string `json:"redisAddrees"`
  27. GivePool int64 `json:"givePool"`
  28. Mysql *mysqlConf `json:"mysql"`
  29. Mongodb struct {
  30. Qfw *mongo `json:"qfw"`
  31. } `json:"mongodb"`
  32. Tidb *mysqlConf `json:"tidb"`
  33. }
  34. type mysqlConf struct {
  35. DbName string
  36. Address string
  37. UserName string
  38. PassWord string
  39. MaxOpenConns int
  40. MaxIdleConns int
  41. }
  42. type mongo struct {
  43. Address string
  44. Size int
  45. DbName string
  46. ReplSet string
  47. UserName string
  48. Password string
  49. }
  50. func Init() {
  51. //程序配置文件
  52. qu.ReadConfig(&Config)
  53. log.Println("初始化 mysql main")
  54. //redis初始化
  55. resourcesRpcClient := zrpc.MustNewClient(zrpc.RpcClientConf{
  56. Etcd: discov.EtcdConf{
  57. Hosts: Config.ResourceEtcdConf.Hosts,
  58. Key: Config.ResourceEtcdConf.ResourcesKey,
  59. },
  60. })
  61. ResourcesRpc = resourcesCenterclient.NewResourcesCenter(resourcesRpcClient)
  62. redis.InitRedisBySize(Config.RedisAddrees, 100, 30, 300)
  63. Mysql = &mysql.Mysql{
  64. Address: Config.Mysql.Address,
  65. UserName: Config.Mysql.UserName,
  66. PassWord: Config.Mysql.PassWord,
  67. DBName: Config.Mysql.DbName,
  68. MaxOpenConns: Config.Mysql.MaxOpenConns,
  69. MaxIdleConns: Config.Mysql.MaxIdleConns,
  70. }
  71. Mysql.Init()
  72. Mgo_qfw = &mongodb.MongodbSim{
  73. MongodbAddr: Config.Mongodb.Qfw.Address,
  74. Size: Config.Mongodb.Qfw.Size,
  75. DbName: Config.Mongodb.Qfw.DbName,
  76. }
  77. Mgo_qfw.InitPool()
  78. Tidb = &mysql.Mysql{
  79. Address: Config.Tidb.Address,
  80. UserName: Config.Tidb.UserName,
  81. PassWord: Config.Tidb.PassWord,
  82. DBName: Config.Tidb.DbName,
  83. MaxOpenConns: Config.Tidb.MaxOpenConns,
  84. MaxIdleConns: Config.Tidb.MaxIdleConns,
  85. }
  86. Tidb.Init()
  87. }