Commit fe793910 authored by hujiebin's avatar hujiebin

feat:连上consul,才做服务发现

parent 8e3bcea7
......@@ -102,33 +102,33 @@ func init() {
}
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
if err := consul.RegisterWatcher("services", nil, address, func(serviceStatus map[string]map[string][]string) {
if statusAddrs, ok := serviceStatus[userCenterConsulName]; ok {
healthAddrs, _ := statusAddrs[consulapi.HealthPassing]
l := len(healthAddrs)
if l > 0 {
mylogrus.MyLog.Infof("consul service update state:%v-%v", userCenterConsulName, healthAddrs)
bd.UpdateState(healthAddrs) // 更新新的注册名
} else {
mylogrus.MyLog.Warnf("consul service update local state:%v-%v", userCenterConsulName, defaultUserCenterAddr)
bd.UpdateState([]string{defaultUserCenterAddr}) // 都没有健康的,使用默认本地回环的
}
for status := range statusAddrs {
if status == consulapi.HealthPassing {
continue
resolver.Register(bd) // 服务注册
go func() {
address := consulapi.DefaultConfig().Address // 用consul api的default config
if err := consul.RegisterWatcher("services", nil, address, func(serviceStatus map[string]map[string][]string) {
if statusAddrs, ok := serviceStatus[userCenterConsulName]; ok {
healthAddrs, _ := statusAddrs[consulapi.HealthPassing]
l := len(healthAddrs)
if l > 0 {
mylogrus.MyLog.Infof("consul service update state:%v-%v", userCenterConsulName, healthAddrs)
bd.UpdateState(healthAddrs) // 更新新的注册名
} else {
mylogrus.MyLog.Warnf("consul service update local state:%v-%v", userCenterConsulName, defaultUserCenterAddr)
bd.UpdateState([]string{defaultUserCenterAddr}) // 都没有健康的,使用默认本地回环的
}
for status := range statusAddrs {
if status == consulapi.HealthPassing {
continue
}
mylogrus.MyLog.Warnf("consul service wrong state:%v-%v-%v", userCenterConsulName, status, statusAddrs[status])
}
mylogrus.MyLog.Warnf("consul service wrong state:%v-%v-%v", userCenterConsulName, status, statusAddrs[status])
}
}); err != nil {
mylogrus.MyLog.Errorf("启动 consul 的watch监控失败")
}
}); err != nil {
mylogrus.MyLog.Errorf("启动 consul 的watch监控失败")
}
}()
}()
}
mylogrus.MyLog.Infof("connect userCenterAddr:%v", userCenterAddr)
//userCenterAddr := services[0].Address + ":" + strconv.Itoa(services[0].ServicePort)
//mylogrus.MyLog.Printf("Choose userCenter %s, %s, weights: %v\n", services[0].ID, userCenterAddr, services[0].ServiceWeights)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment