服务注册
引入依赖
go get github.com/polarismesh/grpc-go-polaris-go@latest
初始化 polaris.yaml
你需要在项目的根路径下创建一个 polaris.yaml 文件用于 grpc-go-polaris 初始化 polaris sdk。polaris.yaml配置详细
服务注册
// 完成 grpc Server 的创建以及注册 grpc service
srv := grpc.NewServer()
listen, err := net.Listen("tcp", "0.0.0.0:8080")
if err != nil {
log.Fatal(err)
}
pb.RegisterEchoServerServer(srv, &EchoQuickStartService{
actualPort: listen.Addr().(*net.TCPAddr).Port,
})
// 将 使用 polaris.Serve 方法启动 grpc server
if err := polaris.Serve(srv, listen,
polaris.WithServiceName("QuickStartEchoServerGRPC"),
); nil != err {
log.Printf("listen err: %v", err)
}
服务端 Options
WithGRPCServerOptions(opts …grpc.ServerOption)
设置 gRPC-Server 的相关 Option。
WithServerNamespace(namespace string)
设置 grpc 服务注册到北极星的命名空间,默认为 default。
WithServiceName(svcName string)
设置 grpc 服务的名称,可选,不过不设置,则会通过 grpc.Server 的 GetServiceInfo() 获取所有 grpc service 信息,进行服务注册。
WithServerMetadata(metadata map[string]string)
设置服务实例的标签信息。
WithServerHost(host string)
设置服务实例注册的 host 信息,可选,默认将通过和北极星服务端建立一次 TCP 连接获取本机对外 IP
WithServerVersion(version string)
设置服务实例的版本信息。
WithTTL(ttl int) ServerOption
设置服务实例心跳上报的周期,默认 5s
WithToken(token string)
当北极星服务端开启客户端鉴权时,需要设置用户/用户组访问凭据,鉴权文档可参考 权限控制。
WithDelayRegisterEnable(strategy DelayStrategy)
设置延迟注册策略
WithGracefulStopEnable(duration time.Duration)
启用服务实例优雅下线能力,默认开启
WithGracefulStopDisable()
禁用服务实例优雅下线能力