教程:kratos:server
这是本文档旧的修订版!
server
server是服务端代码,用于定义和实现RPC服务。
生成与使用
首先是定义 .proto 文件(如 api/helloworld.proto):
service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} }
接着,可以根据上一步生成的proto文件生成服务端代码(运行 make api 或 kratos proto client),生成的文件通常位于 internal/service/ 或 api/ 目录下:
kratos proto server api/helloworld.proto
然后,在上一步生成代码的基础上,实现业务逻辑(在 service 层):
type GreeterService struct { // 依赖注入(如数据库、缓存等) } func (s *GreeterService) SayHello(ctx context.Context, req *pb.HelloRequest) (*pb.HelloReply, error) { return &pb.HelloReply{Message: "Hello, " + req.Name}, nil }
最后,注册到 Kratos(在 main.go):
grpcSrv := grpc.NewServer() pb.RegisterGreeterServer(grpcSrv, service.NewGreeterService()) app := kratos.New( kratos.Server(grpcSrv), )
教程/kratos/server.1751336663.txt.gz · 最后更改: 由 tom
评论