package main import ( "log" "net" "google.golang.org/grpc" "google.golang.org/grpc/reflection" "myschools.me/suguo/protobuf-demo/gen" "myschools.me/suguo/protobuf-demo/middleware" ) func main() { rpc := grpc.NewServer(grpc.MaxRecvMsgSize(1024*1024), grpc.MaxSendMsgSize(1024*1024), grpc.UnaryInterceptor(middleware.Interceptor)) //register gen.RegisterDemoServer(rpc, &Demo{}) //注册反射 用于grpcurl调试 reflection.Register(rpc) // grpc服务启动 lis, err := net.Listen("tcp", ":0") if err != nil { log.Fatal("fail to open port: ", err) } defer lis.Close() port := lis.Addr().(*net.TCPAddr).Port log.Printf("starting grpc service on port: %d", port) if err := rpc.Serve(lis); err != nil { log.Fatal("fail to open microservice: ", err) } }