不同服务注册不同组件模块

This commit is contained in:
Cold
2025-12-09 17:55:08 +08:00
committed by 张斌
parent 87b3ac9878
commit 43a8834c5a
7 changed files with 347 additions and 45 deletions

View File

@@ -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) {
// 获取本机所有网络接口