diff --git a/rpc/user_center.go b/rpc/user_center.go index 47d99213e551a655b4dadc6a079fdd26359af1e3..5bd55917eb41430f7b0035510a3fc9bcb909ffe8 100644 --- a/rpc/user_center.go +++ b/rpc/user_center.go @@ -70,41 +70,39 @@ func (b *Builder) UpdateState(addrs []string) { } func init() { - client, err := consulapi.NewClient(consulapi.DefaultConfig()) //非默认情况下需要设置实际的参数 - mylogrus.MyLog.Infoln(client, err) - if err != nil { - mylogrus.MyLog.Fatalln(err) - } - if client == nil { - mylogrus.MyLog.Fatalln("Fail to get consul client.") - } // 本地环境下不需要userCenter if config.AppIsLocal() { mylogrus.MyLog.Infoln("userCenter is not required in local env.") return } + client, err := consulapi.NewClient(consulapi.DefaultConfig()) //非默认情况下需要设置实际的参数 + if err != nil || client == nil { + mylogrus.MyLog.Errorf("consul client fail:%v-%v", err, client) + } // 服务发现 bd := &Builder{addrs: map[string][]string{"/api": {userCenterAddr}}} - cataLog := client.Catalog() - if cataLog == nil { - mylogrus.MyLog.Fatalln("No catalog.") - } - services, _, err := cataLog.Service("userCenter", "", nil) - if err != nil { - mylogrus.MyLog.Fatalln(err) - } - if len(services) == 0 { - mylogrus.MyLog.Fatalln("userCenter not found.") - } - var addrs []string - for _, s := range services { - addrs = append(addrs, fmt.Sprintf("%s:%d", s.ServiceAddress, s.ServicePort)) - } - if len(addrs) > 0 { - bd = &Builder{addrs: map[string][]string{"/api": addrs}} - userCenterAddr = "uc:///api" + if client != nil { + cataLog := client.Catalog() + if cataLog != nil { + services, _, err := cataLog.Service("userCenter", "", nil) + if err != nil { + mylogrus.MyLog.Errorf("cataLog.Service:err%v", err) + } + if len(services) == 0 { + mylogrus.MyLog.Errorf("userCenter not found.") + } + var addrs []string + for _, s := range services { + addrs = append(addrs, fmt.Sprintf("%s:%d", s.ServiceAddress, s.ServicePort)) + } + if len(addrs) > 0 { + bd = &Builder{addrs: map[string][]string{"/api": addrs}} + userCenterAddr = "uc:///api" + } + mylogrus.MyLog.Infof("userCenterAddr:%v,addr:%v", userCenterAddr, addrs) + } } - mylogrus.MyLog.Infof("userCenterAddr:%v,addr:%v", userCenterAddr, addrs) + mylogrus.MyLog.Infof("connect userCenterAddr:%v", userCenterAddr) resolver.Register(bd) go func() { address := consulapi.DefaultConfig().Address // 用consul api的default config