Blame view

conf/conf.go 1.99 KB
ee23102d   zhangqijia   支持mongo, grpc接服务器
1
2
3
4
5
6
7
  package conf
  
  import (
  	"fmt"
  	lumberjack "gopkg.in/natefinch/lumberjack.v2"
  	"gopkg.in/yaml.v3"
  	"io/ioutil"
1584eb4b   zhangqijia   修复创建唯一索引的bug
8
  	"pro2d/components/db"
ee23102d   zhangqijia   支持mongo, grpc接服务器
9
10
11
12
13
14
15
16
17
  	"pro2d/utils"
  )
  
  type RedisConf struct {
  	Address string `json:"address"`
  	Auth 	string `json:"auth"`
  	DB 		int 		`json:"db"`
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
18
  type Etcd struct {
286f6dbe   zhangqijia   etcd 保存服务信息
19
20
  	Endpoints []string `json:"endpoints"`
  	DialTimeout int		`json:"dialtimeout"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
21
22
23
24
25
26
27
  }
  
  type MongoConf struct {
  	User 		string		`yaml:"user"`
  	Password 	string		`yaml:"password"`
  	Host  		string		`yaml:"host"`
  	Port 		int			`yaml:"port"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
28
29
30
31
  	TimeOut  	int			`yaml:"timeout"`
  	MaxNum  	int			`yaml:"maxnum"`
  }
  
66502d8d   zhangqijia   从token中获取uid
32
33
34
35
36
37
  type TLS struct {
  	Status bool `yaml:"status"`
  	Key string `yaml:"key"`
  	Pem string `yaml:"pem"`
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
38
  type SConf struct {
286f6dbe   zhangqijia   etcd 保存服务信息
39
  	ID string `yaml:"id"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
40
41
42
  	Name string `yaml:"name"`
  	IP   string `yaml:"ip"`
  	Port int 	`yaml:"port"`
eb417b0b   zhangqijia   reactor mongo
43
  	DBName  	string		`yaml:"dbname"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
44
45
46
47
48
49
50
  }
  
  type ServerConf struct {
  	ID 				string 		`yaml:"id"`
  	Name 			string 		`yaml:"name"`
  	WorkerID    	int64		`yaml:"workerid"`
  	DatacenterID 	int64		`yaml:"datacenterid"`
eb417b0b   zhangqijia   reactor mongo
51
  	MongoConf   	*MongoConf	`yaml:"mongo"`
66502d8d   zhangqijia   从token中获取uid
52
  	TLS				*TLS		`yaml:"tls"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
53
54
55
56
57
58
59
  	AccountConf 	*SConf 		`yaml:"server_account"`
  	GameConf		*SConf 		`yaml:"server_game"`
  	RedisConf   	*RedisConf  `yaml:"redis"`
  	LogConf  		*lumberjack.Logger `json:"logconf"`
  	Etcd 			*Etcd 		`yaml:"etcd"`
  }
  
eb417b0b   zhangqijia   reactor mongo
60
61
62
63
  var(
  	GlobalConf ServerConf
  	SnowFlack *utils.Snowflake
  )
ee23102d   zhangqijia   支持mongo, grpc接服务器
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  func init() {
  	configFile, err := ioutil.ReadFile("conf/conf.yaml")
  	if err != nil {
  		fmt.Printf("conf faild: %v", err)
  		return
  	}
  	//初始化配置
  	if err = yaml.Unmarshal(configFile, &GlobalConf); err != nil {
  		fmt.Printf("yaml unmarshal faild: %v", err)
  		return
  	}
  
  	//初始化日志
  	utils.InitLogger(GlobalConf.LogConf)
  
  	//初始化雪花算法
  	SnowFlack = utils.NewSnowflake(GlobalConf.WorkerID, GlobalConf.DatacenterID)
eb417b0b   zhangqijia   reactor mongo
81
  
1584eb4b   zhangqijia   修复创建唯一索引的bug
82
83
84
85
  	err = db.Connect(GlobalConf.MongoConf.User, GlobalConf.MongoConf.Password, GlobalConf.MongoConf.Host, GlobalConf.MongoConf.Port, GlobalConf.MongoConf.MaxNum, GlobalConf.MongoConf.TimeOut)
  	if err != nil {
  		utils.Sugar.Errorf("connect db err: %v", err)
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
86
  }