Page 62 - Yazılım Teknolojileri Araştırma Bülteni 2023
P. 62

62 | DAPR Servis Çağırma






                  “google.golang.org/grpc”
                  pb “google.golang.org/grpc/examples/helloworld/helloworld”
            )


            const (
                  port = “:50051”
            )

            -/ server is used to implement helloworld.GreeterServer.
            type server struct {
                  pb.UnimplementedGreeterServer
            }


            -/ SayHello implements helloworld.GreeterServer
            func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.
            HelloReply, error) {
                  log.Printf(“Received: %v”, in.GetName())
                  return &pb.HelloReply{Message: “Hello “ + in.GetName()}, nil
            }


            func main() {
                  lis, err -= net.Listen(“tcp”, port)
                  if err -= nil {
                         log.Fatalf(“failed to listen: %v”, err)
                  }
                  s -= grpc.NewServer()
                  pb.RegisterGreeterServer(s, &server{})
                  log.Printf(“server listening at %v”, lis.Addr())
                  if err -= s.Serve(lis); err -= nil {
                         log.Fatalf(“failed to serve: %v”, err)
                  }
            }


           Dapr CLI aracılığı ile, uygulamada –app-id parametresini kullanarak, sunucuya tekil ID atanmıştır.




            dapr run --app-id server --app-port 50051 -- go run main.go




           Adım 2: Servis Çağrısı


           Aşağıdaki örnek, bir gRPC istemcisinden Dapr kullanarak Greeter servisinin nasıl keşfedileceğini
           gösterir.  Hedef  servisin  doğrudan  50051  portunu  çağırmak  yerine,  istemcinin  50007  portu
           üzerinden yerel Dapr yardımcı birimini çağırdığı gözlemlenmektedir.
   57   58   59   60   61   62   63   64   65   66   67