docs: public static void main(String[] args) {
      // ScaleCube Node node with no members
      Microservices seed =
          Microservices.builder()
              .discovery(ScalecubeServiceDiscovery::new)
              .transport(ServiceTransports::rsocketServiceTransport)
              .startAwait();
  
      // Construct a ScaleCube node which joins the cluster hosting the Greeting Service
      Microservices microservices =
          Microservices.builder()
              .discovery(
                  serviceEndpoint ->
                      new ScalecubeServiceDiscovery(serviceEndpoint)
                          .options(opts -> opts.seedMembers(toAddress(seed.discovery().address()))))
              .transport(ServiceTransports::rsocketServiceTransport)
              .services(new GreetingServiceImpl())
              .startAwait();
  
      // Create service proxy
      GreetingsService service = seed.call().api(GreetingsService.class);
  
      // Execute the services and subscribe to service events
      service
          .sayHello("joe")
          .subscribe(
              consumer -> {
                System.out.println(consumer.message());
              });
  
      // shut down the nodes
      seed.shutdown().block();
      microservices.shutdown().block();
    }