摘录分布式系统的几种通信架构:
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。
分享到:
相关推荐
3. 分布式系统的基本通信模型 分布式系统通常采用客户/服务器(C/S)模型或发布/订阅(P/S)模型来实现其分布性、高稳定性、高可扩展性和数据一致性等特性。与传统的点对点模型相比,C/S和P/S模型在实时性、耦合性、...
在大型分布式系统中,消息队列可以作为不同组件间的通信媒介,确保数据的一致性和异步处理。 EJB是Java EE的一部分,提供了创建可部署、可扩展的企业级应用程序的标准方式。EJB容器管理了对象的生命周期,包括事务...
在分布式系统中,各个节点可以位于不同的物理位置,彼此之间通过通信协议进行信息交换。这种架构将计算任务分配给多个节点,以便并行处理和加快处理速度。 分布式系统与集中式系统相比具有很大区别。在集中式系统中...
首先,分布式系统架构是一种利用多个计算节点共同完成任务的计算模式,每个节点可以独立承担计算任务,而节点之间通过网络进行通信与协作。分布式计算技术包括了分布式数据库、分布式文件系统、分布式消息中间件等,...
这种架构下的分布式系统,不仅支持传统的数据处理和共享,还能够提供更为复杂的业务流程处理,满足不同行业和机构的特定需求。 在设计分布式管理系统时,我们还必须考虑系统的安全性、数据的一致性和系统的健壮性。...
《凤凰架构:构建可靠的大型分布式系统》是一本开源文档,其核心在于为技术人员提供一个构建可信赖的大型分布式软件系统的框架和方法论。分布式系统是一类由多个组件构成的系统,这些组件分散在不同的网络节点上,...
【基于Redis的分布式缓存系统架构分析】 在现代高并发的互联网应用中,为了提高数据访问的速度和系统性能,往往采用缓存技术。基于Redis的分布式缓存系统因其高效、灵活的特点,被广泛应用于大型应用系统中。Redis...
在实际落地过程中,分布式系统架构会面临诸多挑战,例如通信效率、数据一致性、服务治理等。书中可能提供了具体的解决方案,如使用RESTful API进行服务间通信,采用CAP理论和BASE原则处理数据一致性问题,以及通过...
WebService是一种基于网络的分布式系统应用的标准,它使用XML作为信息交换的载体和格式,为异构系统间的通信提供了协议支持。XML是一种可扩展的标记语言,它使用元素和属性来描述数据,并支持自定义标签,因此能够跨...
### 分布式系统的架构设计 #### 一、引言 在现代互联网技术中,随着用户量和数据量的急速增长,传统的单体架构已经难以满足高效处理大规模流量和数据的需求。因此,分布式系统的设计与实现成为了当今软件开发的...
在论文“基于ZeroMQ的分布式系统通信方法.pdf”中,作者探讨了使用ZeroMQ来实现分布式系统中节点间通信的方法。文中提到的分布式系统架构通常由一个服务器和多个客户端组成,它们之间通过消息的发送和接收进行通信。...
《大型分布式网站架构设计与实践》一书正是为了帮助读者更好地理解和掌握分布式系统的设计原则与实践方法而编写的。 #### 二、大型分布式网站架构的核心概念 1. **分布式系统基础**: - **定义**:分布式系统是由...
本文介绍了一种基于ZooKeeper的分布式系统架构设计与实现,展示了如何通过分布式服务模型和异步通信来实现服务注册、服务监管、服务加载、通信服务等关键功能,并通过实际项目对所设计架构进行测试验证,证明了该...
分布式系统的设计,是一门复杂的学问,它涉及到通信协议、远程调用,服务治理,系统安全、存储、搜索、监控、稳定性保障、性能优化、数据分析、数据挖掘等各个领域,对任何一个领域的深入挖掘,都能够编写一本篇幅...
3. 轻量级CAP最终平衡:在分布式系统中,一致性(Consistency)、可用性(Availability)和分区容忍性(Partition tolerance)三者之间的平衡是一个挑战。Redis通过其高性能和易于部署的特性,有助于实现这一平衡。 ...
分布式系统架构是现代互联网服务的核心,它通过将计算任务和数据分布在多个计算机节点上,实现了高可用性、可扩展性和高性能。本资料合集聚焦于分布式系统的架构设计,特别是通过《豆瓣技术架构》和《支付宝技术架构...
Spring还包含了对事务管理、数据访问集成、Web应用的支持等,为构建大型分布式系统提供了坚实的基础。 SpringMVC是Spring框架的一部分,专注于Web应用的模型-视图-控制器(MVC)设计模式。它简化了HTTP请求处理,将...
在当前的信息技术领域中,分布式系统作为构建大型网络服务架构的重要基础,对于保证系统的可靠性、扩展性和灵活性具有至关重要的作用。从提供的文件标题“分布式核心网架构及其标准化构建.pdf”来看,该文档很可能是...
融合CCM和DDS技术的分布式系统集成架构,即所谓的D-CMM(Distributed Component Model Middle ware)集成框架,既能充分发挥CCM在功能模块生命周期管理上的优势,又能利用DDS在分布式系统数据通信中的高效性。...