0
点赞
收藏
分享

微信扫一扫

protobuf 常见问题速查

proto 文件以其标准的接口、灵活的扩展性得到广泛应用,特别是在进程之间经常通过它定义rpc接口,或者在内存和持久化文件之间定义数据序列化格式。 本文总结了一些使用过程中常见的错误和解决方法。

找不到rpc 方法

错误日志示例如下:

Fail to find method=proto.ssd.MonitorService/GetClusterStatistic

如果在rpc 客户端出现上面错误日志,需要排查:

  1. 原始proto文件中是否定义上面的MonitorService服务和GetClusterStatisti方法;
  2. client 总指定的RPC服务的IP和端口是否正确,端口或者IP错都可能出现上面的错误;

找不到定义的字段

错误现象如下:

"msg" field in proto.ssd.MonitorService/GetClusterStatisticResponse not defined

原因:
在proto文件中是否定义上面的MonitorService服务和GetClusterStatisticResponse中没用定义"msg"字段

字段值越界

错误现象如下:

'value' field in proto.ssd.MonitorService/GetClusterStatisticRequest exceed rangs

原因:proto.ssd.MonitorService/GetClusterStatisticRequest的request字段的值超过proto文件中该类型的允许取值范围。

举报

相关推荐

0 条评论