分布式系统通信架构

摘录分布式系统的几种通信架构:



1)基于Corba协议

这是比较古老的一种方式,基本在90年代前期使用,之后被EJB技术取代。



2)基于RMI/IIOP协议

采用基于调用的模式,调用过程如下:客户端程序调用服务对象的客户端代理,代理负责打包参数并通过JRMP协议发送到服务端,服务端使用同样协议解析,执行业务逻辑处理,用同样方法返回结果给客户端。

调用过程使用基于java远程消息交换协议JRMP通信(JRMP是专为java远程对象制定的协议),是EJB技术的基础。



RMI是面向对象的编程模型。传输的消息是二进制形式。

但其只适用于Java平台,对非Java语言应用程序支持不足,不能实现互通。



3)基于RPC机制

采用基于请求应答的模式,过程如下:客户端发送调用信息(将远程方法名、参数打包进请求信息)到服务端,服务端解析到要调用的对象和方法执行后返回应答信息;客户端接受相应获取应答信息。



RPC是面向过程的编程模型。

常见的RPC都是采用文本形式传输消息的,如下面列举的XML-RPC等,但也有采用二进制形式传输的,如Hessian、protocol buffer和thrift等。

RPC是跨语言的通信标准,Sun和微软都有其实现, 微软的DCOM就是建立在ORPC协议之上。



具体又分为几种:



3.1)XML-RPC:

即XML远程方法调用, 利用http + xml封装进行RPC调用。

基于http协议传输、XML作为信息编码格式。一个xml-rpc消息就是一个请求体为XML的http-post请

求,服务端执行后也以XML格式编码返回。

这个标准面前已经演变为下面的SOAP协议,可以理解SOAP是XML-RPC的高级版本。



3.2)SOAP:

简单对象访问协议,是一种轻量的、简单的、基于xml的远程访问协议。可以与现有的多种传输层或

应用层协议结合使用,如TCP、HTTP、SMTP等。

SOAP广泛使用的是基于HTTP和xml协议的实现(SOAP=RPC+HTTP+XML),也就是大家常提的

Web Service使用的通信协议。

一个SOAP方法可以简单地看作遵循SOAP编码规则的HTTP请求和响应。



比较:XML-RPC是启动web服务最容易的方法,在很多方面比SOAP更简单易用,但不同于SOAP的

是,XML-RPC没有相应的服务描述语法,这妨碍了XML-RPC服务的自动调用。



3.3)JSON-RPC:

即JSON远程方法调用。类似于XML-RPC,不同之处是使用JSON作为信息交换格式。



另:关于Sun Java版本的一些web服务规范:

JAX-RPC1.1: Java API for XML-Based RPC 1.1


JAX-WS2.0: Java API for XML Web Service 2.0,是前者的升级版本;

使用JAXB处理xml与java对象映射;xml解析使用StAX拉式解析器规范。

JAX-RS: Java API for RESTful Web Services (JSR-311) )

Java 上构建 RESTful 风格的 Web Services 提供的一组标准 API。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值