用户工具

站点工具


教程: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