code: protected void startServingRPCServer() {
      try {
        stopRejectingRpcServer();
        LOG.info("Starting gRPC server on address {}", mRpcBindAddress);
        GrpcServerBuilder serverBuilder = GrpcServerBuilder.forAddress(
            mRpcConnectAddress.getHostName(), mRpcBindAddress, ServerConfiguration.global());
  
        mRPCExecutor = new ForkJoinPool(
            ServerConfiguration.getInt(PropertyKey.MASTER_EXECUTOR_PARALLELISM),
            ForkJoinPool.defaultForkJoinWorkerThreadFactory,
            null,
            true,
            ServerConfiguration.getInt(PropertyKey.MASTER_EXECUTOR_POOL_CORE_SIZE),
            ServerConfiguration.getInt(PropertyKey.MASTER_EXECUTOR_POOL_MAX_SIZE),
            ServerConfiguration.getInt(PropertyKey.MASTER_EXECUTOR_MIN_RUNNABLE),
            null,
            ServerConfiguration.getMs(PropertyKey.MASTER_EXECUTOR_POOL_KEEPALIVE_TIME_MS),
            TimeUnit.MILLISECONDS);
  
        serverBuilder.executor(mRPCExecutor);
        for (Master master : mRegistry.getServers()) {
          registerServices(serverBuilder, master.getServices());
        }
  
        mGrpcServer = serverBuilder.build().start();
        mSafeModeManager.notifyRpcServerStarted();
        LOG.info("Started gRPC server on address {}", mRpcConnectAddress);
  
        // Wait until the server is shut down.
        mGrpcServer.awaitTermination();
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
    }
docs: Starts the gRPC server. The AlluxioMaster registers the Services of registered
  {@link Master}s and meta services.