您的位置:首页 > 其它

pomelo RPC调用时新增字段缺失

2017-09-01 19:34 288 查看
接触pomelo开发一个月,正式开始参与项目开发有10天,遇到很多细节的坑,今天讲讲标题:后端服务器节点之间的rpc调用过程中,返回的数据中新增字段缺失问题。

  先讲结果:原因是该rpc调用已经采用了protobuf协议,里面已经定义了传递的字段,新增字段也需要在相应XX.proto文件中定义。

下面看代码:下面的rpc跟框架本身的不太一样,是经过改造的,简单分析下,该rpc调用“userCenter”服务器中"butlerRemote"下的"addButlers"函数



下面是butlerRemote.js文件:



next(data)即将rpc调用的数据返给调用节点。

下面我们针对该数据定义proto协议:



可以看到定义是C++的写法,看第二行,package butlerRemote,说明该协议针对这个路由的请求数据和返回数据,我们以addButlers为例,"message addButlers"即某个节点调用butlerRemote.addButlers时传递的参数协议,不仅仅是字段名称和数量要完全一致,字段类型也必须严格遵守协议,否则也会获取不到相应字段并报错,“message addButlerAck即”butlerRemote.addButlers执行后返给请求节点的数据。

ACK (Acknowledgement):”确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符”。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: