辨别一些概念

关于 微服务,SOA,RPC,RMI,ESB,Web Service,Hessian,Thrift,Rest API的初步理解

参考:

SOA和微服务架构的区别?

1.微服务与SOA之间差了一个ESB

2.SOA和微服务架构的区别?

3.用API网关把API管起来

4.谈API网关的背景、架构以及落地方案

5.开发漫谈:千万别说你不了解Docker!

6.CentOS系统下docker的安装配置及使用详解

7.docker和虚拟机VM

对SOA的一点理解

微服务SOA架构与RPC远程过程调用

怎样用通俗的语言解释REST,以及RESTful?

 

1.关于RPC(Remote Procedure Call Protocol)

 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据

 RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。

2.关于RMI (Remote Method Invocation)

RMI 采用stubs 和 skeletons 来进行远程对象(remote object)的通讯。stub 充当远程对象的客户端代理,有着和远程对象相同的远程接口,远程对象的调用实际是通过调用该对象的客户端代理对象stub来完成的,通过该机制RMI就好比它是本地工作,采用tcp/ip协议,客户端直接调用服务端上的一些方法。优点是强类型,编译期可检查错误,缺点是只能基于Java语言,客户机与服务器紧耦合

相关推荐