mirror of
https://github.com/zeromicro/go-zero.git
synced 2026-05-07 15:10:01 +08:00
13 lines
545 B
Markdown
13 lines
545 B
Markdown
|
|
# rpc设计规范
|
|||
|
|
|
|||
|
|
* 目录结构
|
|||
|
|
* service/remote目录下按照服务所属模块存放,比如用户的profile接口,目录如下:
|
|||
|
|
|
|||
|
|
`service/remote/user/profile.proto`
|
|||
|
|
|
|||
|
|
* 生成的profile.pb.go也放在该目录下,并且profile.proto文件里要加上`package user;`
|
|||
|
|
|
|||
|
|
* 错误处理
|
|||
|
|
* 需要使用status.Error(code, desc)来定义返回的错误
|
|||
|
|
* code是codes.Code类型,尽可能使用grpc已经定义好的code
|
|||
|
|
* codes.DeadlineExceeded, codes.Internal, codes.Unavailable, codes.DataLoss错误会被自动熔断
|