问题一、RPC是什么?
深入浅出RPC 浅出篇 http://blog.youkuaiyun.com/mindfloating/article/details/39473807
个人理解:RPC(remote procedure call)是一种进程间通信方式,允许程序调用另一个地址空间的过程或函数,这一技术很方面就能实现分布式服务部署。
深入浅出RPC 深入篇 http://blog.youkuaiyun.com/mindfloating/article/details/39474123
个人理解:RPC框架需要是透明的;文中给出了一张图,详细分解了rpc调用过程中客户端和服务端的模块划分。服务端暴露接口出来,客户端调用接口,其实是通过proxy调用,然后通过stub来像服务端发送请求,请求是建立的长连接,请求内容是通过编码的,内容遵循指定的协议,客户端收到信息后解析信息并封装数据后返回。
问题二、主流RPC框架有什么?
1、Web Service 服务已webservice发不出去,通过如soap协议来实现服务调用。
2、Thrift fb提出 支持多语言
3、dubbo 阿里提出 支持java
官网:http://dubbo.io/Home-zh.htm
dubbo中使用netty作为客户端和服务端之间的高性能通信组件(netty可以高效的处理socket)。
4、Hessian
基于http的远程过程调用,轻量级
个人理解:不论什么框架,其实都是为了实现多服务之间的解耦,服务化的方法和服务化的位置不同。