rpc-随写随记

什么是rpc?

远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一台计算机的子程序,而程序员无需额外地为这个交互作用编程。如果涉及的软件采用面向对象编程,那么远程过程调用亦可称作远程调用远程方法调用.

rpc需要考虑哪些点?

  1. 传递:参数(值类型)
  2. 传递:参数(引用类型)

复制所有值
规定好协议(序列化?xml,json?)
大端小端编码

  1. 通信协议:(tcp/ip?)
  2. 其他:安全,效率,异步回调等

    requestid,存储request和回调函数的对应关系

rpc vs http?

如果你想只记住一点,那么就请记住 RPC是以动词为中心的, REST是以名词为中
心的, 此处的 动词指的是一些方法, 名词是指资源.

你会发现,以动词为中心,意味着,当你要需要加入新功能时,你必须要添加更多的动词, 
这时候服务器端需要实现 相应的动词(方法), 客户端需要知道这个新的动词并进行调
用.
而以名词为中心, 假使我请求的是 hostname/friends/, 无论这个URI对应的服务怎么
变化,客户端是无需 关注和更新的,而这种变化对客户端也是透明的.
至于其它的区别,如对实现语言的依赖, 耦合性等,这些都是上面提到的这个根本区别所衍生的.

参考

维基百科定义
rpc vs http

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自:http://blog.csdn.net/kesonyk/article/details/50924489 ...
    晴天哥_王志阅读 24,905评论 2 38
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 还没毕业之前,她从没想过自己会回到这座小城。 她一直记着每次从外面回家突然跌落在小小一县之城的感觉...
    W温温暖暖阅读 309评论 0 1
  • 我现在的爱好很有限,基本上都与文字有关系。除了练字、读书和写东西之外,我最喜欢的是时不时的到新华书店去逛逛,看看有...
    剑走偏锋独行侠阅读 267评论 2 1
  • 今天的晨读书目《目标感:28天养成卓越人士的思维和行动模式》,内容组对“目标感”的解释让人印象深刻,说目标感的核心...
    来郑坤茹阅读 365评论 0 3