服务注册

引入依赖

  1. <dependency>
  2. <groupId>com.tencent.polaris</groupId>
  3. <artifactId>grpc-java-polaris</artifactId>
  4. <version>${grpc-java-polaris.version}</version>
  5. </dependency>

初始化 polaris.yaml

你需要在项目的根路径下创建一个 polaris.yaml 文件用于 grpc-java-polaris 初始化 polaris sdk。polaris.yaml配置详细

如何使用

将原本的 ServerBuilder 替换为 PolarisGrpcServerBuilder 即可实现将 gRPC-java 服务注册到北极星中

原本 gRPC-java 的创建方式

  1. server = ServerBuilder.forPort(port).addService(new GreeterImpl()).build().start();

使用 gRPC-java-polaris 的创建方式

  1. Server server = PolarisGrpcServerBuilder.forPort(port).addService(new GreeterImpl()).build().start();

注册信息控制

命名空间

默认情况下,gRPC-java 注册到北极星的 default 命名空间中,如果希望注册到别的命名空间,可通过设置namespace的方式

  1. public class GrpcServerDemo {
  2. public static void main(String[] args) {
  3. Server server = PolarisGrpcServerBuilder
  4. .forPort(0)
  5. .namespace("grpc-java-demo")
  6. .addService(new HelloProvider(metadata))
  7. .addService(new HiProvider())
  8. .build();
  9. Server server = server.start();
  10. JvmHookHelper.addShutdownHook(() -> {
  11. server.shutdown();
  12. });
  13. }
  14. }

注册粒度

默认情况下,gRPC-java的注册粒度是按照 ServerServiceDefinition 来进行注册的,如果希望将整个 gRPC-java 进程作为一个服务进行注册的话,可通过设置 applicationName 的方式

  1. public class GrpcServerDemo {
  2. public static void main(String[] args) {
  3. Server server = PolarisGrpcServerBuilder
  4. .forPort(0)
  5. .applicationName("grpc-java-demo")
  6. .addService(new HelloProvider(metadata))
  7. .addService(new HiProvider())
  8. .build();
  9. Server server = server.start();
  10. JvmHookHelper.addShutdownHook(() -> {
  11. server.shutdown();
  12. });
  13. }
  14. }

实例属性设置

  1. public class GrpcServerDemo {
  2. public static void main(String[] args) {
  3. Server server = PolarisGrpcServerBuilder
  4. .forPort(0)
  5. // 设置实例的权重信息
  6. .weight(int)
  7. // 设置实例的元数据信息
  8. .metadata(Map<String, String>)
  9. // 设置实例的版本信息
  10. .version(String)
  11. .addService(new HelloProvider(metadata))
  12. .addService(new HiProvider())
  13. .build();
  14. Server server = server.start();
  15. JvmHookHelper.addShutdownHook(() -> {
  16. server.shutdown();
  17. });
  18. }
  19. }

如何基于 grpc-java-polaris 完成一个服务注册的程序