33 lines
822 B
Go
33 lines
822 B
Go
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
|
|
}
|