首页 > 其他 > 详细

dubbo系列----rpc初探

时间:2015-10-24 17:32:37      阅读:249      评论:0      收藏:0      [点我收藏+]

1 首先,什么是RPC

RPC指的是远程服务调用。RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。rpc框架应该提供对于远程服务的透明化调用,不需要显式的区分本地or远程。说得通俗点,rpc应该能够做到像调用本地方法一样调用远程服务。

2 rpc调用方式

rpc调用和方法调用一样,对于调用者来说,分为同步和异步两种方式(同步异步本身就是一个很大的课题),这里不细说同步和异步的概念。

同步自不必多说,正常的http调用,对于浏览器来说,必须等到服务端响应才能继续(非AJAX)

异步就是AJAX

为什么这里要说这个,在这里抛个砖,后续当我们说到dubbo做SOA实践的时候,会讨论异步调用和同步调用对服务器吞吐能力的影响,这也可以参考我的另一篇文章http://my.oschina.net/zhenglingfei/blog/492883

3 RPC调用过程

 

技术分享

上图来自文章1,给出了一个rpc框架的思路,其实很多的rpc框架都是这样做的,至少我所了解的是这样(dubbo以及我曾经公司的rpc框架)。一般的过程是本地应用调用远程API(存在于本地),实际的调用工作会由初始化时生成的本地代理执行,本地代理通常会根据根据一些既定策略(路由,容错等)选择实际的远程服务进行通信,而服务端则是一个反向的过程

而一个rpc框架,最主要涉及的几大模块就是远程API,调用代理,协议和编解码,网络传输服务,实际调用几个过程。后续分析dubbo时也会从这些方面入手。

参考文章建议

1.http://blog.csdn.net/mindfloating/article/details/39474123  对于rpc的描述很清楚

2.http://my.oschina.net/zhenglingfei/blog/492883

dubbo系列----rpc初探

原文:http://my.oschina.net/zhenglingfei/blog/521567

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!