package client import ( "github.com/asim/go-micro/plugins/client/grpc/v4" "github.com/asim/go-micro/plugins/registry/consul/v4" "go-micro.dev/v4" "go-micro.dev/v4/client" "go-micro.dev/v4/registry" "go-micro.dev/v4/selector" "gomicro-base/service/wallet/internal/conf" ) var ( microClient client.Client cf *conf.Config ) func NewMicroClient(c *conf.Config) { cf = c microRegistry := consul.NewRegistry(registry.Addrs(c.Server.ConsulServer...)) // 轮询访问 newSelector := selector.NewSelector( selector.Registry(microRegistry), selector.SetStrategy(selector.RoundRobin), ) service := micro.NewService( micro.Client(grpc.NewClient()), micro.Selector(newSelector), micro.WrapClient(NewTimeoutWrapper), //micro.WrapClient(NewLogWrapper), ) microClient = service.Client() } func GetClient() client.Client { return microClient } func Reconnect() { NewMicroClient(cf) }