|
@@ -10,8 +10,6 @@ import (
|
|
cprofile "github.com/mhaya/profile"
|
|
cprofile "github.com/mhaya/profile"
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
"strings"
|
|
"strings"
|
|
- "time"
|
|
|
|
- "strings"
|
|
|
|
)
|
|
)
|
|
|
|
|
|
type ActorDB struct {
|
|
type ActorDB struct {
|
|
@@ -39,60 +37,36 @@ func (p *ActorDB) OnInit() {
|
|
dbID := p.App().Settings().GetConfig("db_id_list").GetString("game_db_id")
|
|
dbID := p.App().Settings().GetConfig("db_id_list").GetString("game_db_id")
|
|
MDB = mongo.GetDb(dbID)
|
|
MDB = mongo.GetDb(dbID)
|
|
if MDB == nil {
|
|
if MDB == nil {
|
|
- clog.Panicf("game_db_id not found")
|
|
|
|
|
|
+ clog.Panic("game_db_id not found")
|
|
}
|
|
}
|
|
|
|
+
|
|
redisConfig := cprofile.GetConfig("redis")
|
|
redisConfig := cprofile.GetConfig("redis")
|
|
- addr := strings.Split(redisConfig.GetString("address"), ",")
|
|
|
|
- isTls := redisConfig.GetInt("tls", 0)
|
|
|
|
- if isTls == 1 {
|
|
|
|
|
|
+ tlsEnable := redisConfig.GetInt("tls")
|
|
|
|
+
|
|
|
|
+ if tlsEnable == 1 {
|
|
tlsConfig := &tls.Config{
|
|
tlsConfig := &tls.Config{
|
|
MinVersion: tls.VersionTLS12,
|
|
MinVersion: tls.VersionTLS12,
|
|
PreferServerCipherSuites: true,
|
|
PreferServerCipherSuites: true,
|
|
}
|
|
}
|
|
- /* RDB = redis.NewUniversalClient(&redis.UniversalOptions{
|
|
|
|
- Addrs: []string{redisConfig.GetString("address")},
|
|
|
|
|
|
+
|
|
|
|
+ RDB = redis.NewUniversalClient(&redis.UniversalOptions{
|
|
|
|
+ Addrs: strings.Split(redisConfig.GetString("address"), ","),
|
|
Password: redisConfig.GetString("password"),
|
|
Password: redisConfig.GetString("password"),
|
|
DB: redisConfig.GetInt("db"),
|
|
DB: redisConfig.GetInt("db"),
|
|
TLSConfig: tlsConfig,
|
|
TLSConfig: tlsConfig,
|
|
- })*/
|
|
|
|
-
|
|
|
|
- clusterOptions := &redis.ClusterOptions{
|
|
|
|
- Addrs: addr,
|
|
|
|
- Password: "", // 如果启用了身份验证,请提供密码
|
|
|
|
- PoolSize: 1000, // 每个节点的最大连接数
|
|
|
|
- DialTimeout: 10 * time.Second,
|
|
|
|
- ReadTimeout: 30 * time.Second,
|
|
|
|
- WriteTimeout: 30 * time.Second,
|
|
|
|
- TLSConfig: tlsConfig,
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 创建集群客户端
|
|
|
|
- rdb := redis.NewClusterClient(clusterOptions)
|
|
|
|
- // 测试连接
|
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
|
|
- defer cancel()
|
|
|
|
-
|
|
|
|
- pong, err := rdb.Ping(ctx).Result()
|
|
|
|
- if err != nil {
|
|
|
|
- clog.Panicf("无法连接到Redis集群: %v ,param:%v", err, addr)
|
|
|
|
- }
|
|
|
|
- clog.Warnf("连接到Redis集群: %v,param:%v", pong, addr)
|
|
|
|
- RDB = rdb
|
|
|
|
|
|
+ })
|
|
} else {
|
|
} else {
|
|
RDB = redis.NewUniversalClient(&redis.UniversalOptions{
|
|
RDB = redis.NewUniversalClient(&redis.UniversalOptions{
|
|
- Addrs: addr,
|
|
|
|
|
|
+ Addrs: strings.Split(redisConfig.GetString("address"), ","),
|
|
Password: redisConfig.GetString("password"),
|
|
Password: redisConfig.GetString("password"),
|
|
DB: redisConfig.GetInt("db"),
|
|
DB: redisConfig.GetInt("db"),
|
|
})
|
|
})
|
|
- // 测试连接
|
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
|
|
|
|
- defer cancel()
|
|
|
|
|
|
+ }
|
|
|
|
|
|
- pong, err := RDB.Ping(ctx).Result()
|
|
|
|
- if err != nil {
|
|
|
|
- clog.Panicf("无法连接到Redis: %v ,param:%v", err, addr)
|
|
|
|
- }
|
|
|
|
- clog.Warnf("连接到Redis: %v,param:%v", pong, addr)
|
|
|
|
|
|
+ clog.Debug("redis address :" + redisConfig.GetString("address"))
|
|
|
|
+ err := RDB.Set(context.Background(), "test", 0, 0).Err()
|
|
|
|
+ if err != nil {
|
|
|
|
+ clog.Errorf("redis client error: %v", err)
|
|
}
|
|
}
|
|
|
|
|
|
if p.App().NodeId() == "m-center" {
|
|
if p.App().NodeId() == "m-center" {
|