教程:kratos:server
差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录前一修订版 | |||
教程:kratos:server [2025/07/01 02:24] – tom | 教程:kratos:server [2025/07/01 02:35] (当前版本) – tom | ||
---|---|---|---|
行 1: | 行 1: | ||
====== server ====== | ====== server ====== | ||
server是服务端代码,用于定义和实现RPC服务。 | server是服务端代码,用于定义和实现RPC服务。 | ||
- | ===== 生成与使用===== | ||
- | 首先是定义 .proto 文件(如 api/ | ||
- | < | ||
- | service Greeter { | ||
- | rpc SayHello (HelloRequest) returns (HelloReply) {} | ||
- | } | ||
- | </ | ||
- | |||
- | 接着, | ||
- | < | ||
- | kratos proto server api/ | ||
- | </ | ||
- | | ||
- | 然后,在上一步生成代码的基础上,实现业务逻辑(在 service 层): | ||
- | <code go> | ||
- | type GreeterService struct { | ||
- | // 依赖注入(如数据库、缓存等) | ||
- | } | ||
- | |||
- | func (s *GreeterService) SayHello(ctx context.Context, | ||
- | return & | ||
- | } | ||
- | </ | ||
- | |||
- | 最后, | ||
- | <code go> | ||
- | grpcSrv := grpc.NewServer() | ||
- | pb.RegisterGreeterServer(grpcSrv, | ||
- | app := kratos.New( | ||
- | kratos.Server(grpcSrv), | ||
- | ) | ||
- | </ |
教程/kratos/server.txt · 最后更改: 由 tom