package initconsul import ( "context" "github.com/gogf/gf/contrib/registry/consul/v2" "github.com/gogf/gf/contrib/rpc/grpcx/v2" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/net/gsel" ) func InitConsul(ctx context.Context) error { // 初始化consul err := registerConsul(ctx) if err != nil { return err } return nil } func registerConsul(ctx context.Context) error { consulAddress := g.Cfg().MustGet(ctx, "registry.address", "127.0.0.1:8500").String() g.Log().Infof(ctx, "consulAddress: %+v", consulAddress) registry, err := consul.New(consul.WithAddress(consulAddress)) if err != nil { g.Log().Fatalf(ctx, "consul初始化失败: %+v", err) return err } grpcx.Resolver.Register(registry) gsel.SetBuilder(gsel.NewBuilderRandom()) g.Log().Infof(ctx, "consul注册成功") return nil }