不同服务注册不同组件模块
This commit is contained in:
@@ -5,6 +5,7 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"sync"
|
||||
|
||||
"github.com/gogf/gf/contrib/registry/consul/v2"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
@@ -13,14 +14,30 @@ import (
|
||||
"github.com/gogf/gf/v2/util/grand"
|
||||
)
|
||||
|
||||
var initOnce sync.Once
|
||||
|
||||
// Init 初始化 Consul 注册中心(延迟初始化,首次调用时执行)
|
||||
func Init() {
|
||||
initOnce.Do(func() {
|
||||
consulAddr := g.Cfg().MustGet(context.Background(), "consul.address").String()
|
||||
if consulAddr == "" {
|
||||
g.Log().Warning(context.Background(), "⚠️ Consul 配置未找到,跳过初始化")
|
||||
return
|
||||
}
|
||||
registry, err := consul.New(consul.WithAddress(consulAddr))
|
||||
if err != nil {
|
||||
g.Log().Errorf(context.Background(), "Consul 初始化失败: %v", err)
|
||||
return
|
||||
}
|
||||
gsvc.SetRegistry(registry)
|
||||
gsel.SetBuilder(gsel.NewBuilderRoundRobin())
|
||||
g.Log().Infof(context.Background(), "✅ Consul 初始化成功: %s", consulAddr)
|
||||
})
|
||||
}
|
||||
|
||||
func init() {
|
||||
consulAddr := g.Cfg().MustGet(context.Background(), "consul.address").String()
|
||||
registry, err := consul.New(consul.WithAddress(consulAddr))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
gsvc.SetRegistry(registry)
|
||||
gsel.SetBuilder(gsel.NewBuilderRoundRobin())
|
||||
// 默认自动初始化(保持向后兼容)
|
||||
Init()
|
||||
}
|
||||
func getLocalIP() (string, error) {
|
||||
// 获取本机所有网络接口
|
||||
|
||||
Reference in New Issue
Block a user