github.com/micro/go-micro/examples@v0.0.0-20210105173217-bf4ab679e18b/proxy/ruby/rpc_server.rb (about)

     1  require './proxy'
     2  require 'rjr/nodes/web'
     3  
     4  $service = {
     5    "name" => "go.micro.srv.greeter",
     6    "nodes" => [{
     7      "id" => "go.micro.srv.greeter-" + SecureRandom.uuid,
     8      "address" => "localhost",
     9      "port" => 4000
    10    }]
    11  }
    12  
    13  trap 'INT' do
    14    deregister($service)
    15    exit
    16  end
    17  
    18  # create server
    19  server = RJR::Nodes::Web.new :node_id => 'server', :host => 'localhost', :port => 4000
    20  # serve method Say.Hello
    21  server.dispatcher.handle("Say.Hello") { |args|
    22    "Hello #{args['name']}!"
    23  }
    24  
    25  # register service
    26  register($service)
    27  
    28  # start the server and block
    29  server.listen
    30  server.join