protobuf rpc介绍

刚接触protobuf通过service实现rpc真的是一头雾水,相关资料非常少,找到的资料也看不懂,最后找到了两篇博文,非常详尽,看完就懂了。

这时第一篇:http://nightfade.me/post/tech/2013-12-13-dive-into-protocol-buffers-python-api

第二篇:http://nightfade.me/post/tech/2013-12-15-implement-an-asynchronous-rpc-basing-on-protocol-buffers

这个是作者通过protobuf service 完整实现的rpc:https://github.com/nightfade/protobuf-RPC


然后我按照自己对文章和代码理解做了各简单粗略的笔记:

rpcChannel:接收请求时调用service定义的方法。
callmethod必须定义,用来序列化反序列化数据和发送数据。


rpcController:管理rpcChannel,比如捕获网络异常。


编译会生成service和service_stub。它们对应着。
service定义proto文件中定义的方法,用来被调用。
service_stub继承rpcChannel,用来调用service定义的方法。
直接stub对象.service方法就行了。比如service定义了echo方法,stub.echo就回去调用echo方法。




一个释疑:
rpchannel需要自己实现一个callmethod,用来将数据序列化,病发送出去
,这个method在stub.service_function的时候会自动调用。


service的callmethod,这个不需要自己实现,只要调用的时候传递给他合适的参数,
会自动查找并调用service定义的方法。



本人出于个人兴趣,创建了一个个人公众号,每天筛选国外网友发现的有趣的事情推送到公众号,欢迎关注!


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值