go-micro-nacos-demo

Stars
12
Committers
2

go-micro-nacos-demo

go-micronacos.

Nacos:https://nacos.io/en-us/

Go-Micro:https://github.com/micro/go-micro

go-micro(server.go)(client.go).

  1. protobufGreeter,HelloRequestHelloResponseHellonacos

    syntax = "proto3";
    
    package helloworld;
    
    service Greeter {
        rpc Hello(HelloRequest) returns (HelloResponse) {}
    }
    
    message HelloRequest {
        string name = 1;
    }
    
    message HelloResponse {
        string greeting = 2;
    }
    
  2. ,Hello,,,

    ps:(client.go nacosgo-mircogo-micro registry ,contextnacos, contextnacos :https://github.com/micro/go-plugins/blob/master/registry/nacos/nacos_test.go)

  1. server.go

    1. :go-microDemo,nacos

         registry := nacos.NewRegistry(func(options *registry.Options) {
         		options.Addrs = addrs
         })
         service := micro.NewService(
         		// Set service name
         		micro.Name("my.micro.service"),
         		// Set service registry
         		micro.Registry(registry),
         )
         service.Run()
      
      
      
  2. client.go

    1. :go-microDemo,nacos.

      	r := nacos.NewRegistry(func(options *registry.Options) {
      		options.Addrs = addrs
      	})
      	service := micro.NewService(
      		micro.Name("my.micro.service.client"),
      		micro.Registry(r))
      
    2. rpc

      	// 
      	greeter := helloworld.NewGreeterService(serverName, service.Client())
      	// greeter
      	rsp, err := greeter.Hello(context.TODO(), &helloworld.HelloRequest{Name: "John"})
      
    	services,err:=registry.ListServices()
    
    	service, err := registry.GetService(serverName)
    
    	//
    	watch, err := registry.Watch()
    	for {
    		result, err := watch.Next()
    		if len(result.Action) > 0 {
    			fmt.Println(result, err)
    		}
    	}
    

    Run

  3. #clone
    $git clone [email protected]:sanxun0325/go-micro-nacos-demo.git
    
  4. #
    $go run server.go
    
    
    2020-08-25 20:11:52  [email protected]/service.go:200 level=info Starting [service] my.micro.service
    2020-08-25 20:11:52  file=grpc/grpc.go:864 level=info Server [grpc] Listening on [::]:64604
    2020-08-25 20:11:52  file=grpc/grpc.go:697 level=info Registry [nacos] Registering node: my.micro.service-c23d867d-4752-4dc2-8944-3098a1d2c404
    
    
  5. #
    $go run client.go
    
    
    2020-08-25 20:18:35  [email protected]/service.go:200 level=info Starting [service] my.micro.service.client
    2020-08-25 20:18:35  file=grpc/grpc.go:864 level=info Server [grpc] Listening on [::]:64957
    2020-08-25 20:18:35  file=grpc/grpc.go:697 level=info Registry [nacos] Registering node: my.micro.service.client-ae7d2a0b-3758-49ee-8bd3-d30377a416e4
    
    ()
    2020-08-25 20:18:35  file=go-micro-demo/server.go:17 level=info Received Helloworld.Call request
    
  6. nacos