分布式系统中间件详解:RPC与MQ

需积分: 49 23 下载量 13 浏览量 更新于2024-07-15 收藏 2.26MB DOCX 举报
"这篇文档是关于中间件的复习要点,主要涵盖了开发和部署分布式系统时面临的挑战、中间件的基本概念及其五种基本类型、远程过程调用中间件(RPC)的工作原理以及消息队列中间件(MQ)的相关内容。" 在分布式系统中,开发和部署面临着诸如分布性、异构性和动态协作的挑战。分布性意味着任务不再局限于单机,而是跨越网络中的多台计算机协同完成。异构性体现在硬件、操作系统、网络协议和数据库系统的多样性,增加了系统间的交互难度。动态协作则要求系统能够实现位置透明性、迁移透明性和负载平衡,以提高效率和可用性。 中间件作为解决这些问题的关键,是一种位于系统软件和应用软件之间的软件层。它允许不同应用在不同系统架构下协同工作,通过消息传递或其他机制实现互操作。常见的五种中间件类型包括: 1. 消息中间件:用于应用间消息传递,实现数据交换,通常采用非直接连接并支持多种通信协议,确保异构系统间的数据共享和同步。 2. 分布对象中间件:结合分布式计算和面向对象技术,使对象能够在分布式环境中跨系统交互,解决异构问题,支持异步操作。 3. 远程过程调用中间件(RPC):使得一个应用能够调用另一台计算机上的服务,常用于同步或异步数据传输,简化分布式系统中的通信。 4. 数据访问中间件:提供统一接口访问不同数据库,消除异构数据库间的访问障碍,实现数据资源的互操作。 5. 事务处理中间件:支持分布式事务处理,保证事务的一致性,提供事务管理、并发控制、资源管理等功能,确保在分布式环境中的高可靠性。 对于远程过程调用中间件(RPC),其核心架构包括服务注册和服务调用。服务提供者在启动时会将服务注册到注册中心,服务消费者启动时会订阅所需的服务。注册中心负责通知服务消费者服务的位置信息,使得消费者能够找到并调用服务。在一次RPC调用中,通常包括请求封装、网络传输、服务定位、服务调用和响应返回等步骤。 此外,文档还提及了消息队列中间件(MQ),这是一种用于异步处理和解耦系统的组件,通过队列存储消息,允许应用之间以非阻塞的方式进行通信,提高系统整体的稳定性和性能。 这篇复习资料详细地概述了中间件的关键概念和应用场景,对于理解和掌握分布式系统中中间件的使用具有重要价值。
2021-07-05 上传
中间件期末考复习资料包含三个文档 一、课堂考点、重点题目、考试方向思考题全解 1.什么是消息型中间件 queue 和 topic 是什么意思 答: (1) 定义:消息中间件是分布式系统中完成消息发送和接收的基本软件。 消息中间件:一类支持在应用之间发送和接收消息的基础设施。利用高效可靠的消息机制 来实现不同应用间大量的数据交换。消息中间件的非直接连接,支持多种通信协议,达到 多个系统之间的数据的共享和同步,最常用的一类中间件。 (2)Queue 和 topic 是消息传送的模式。 Queue 是点对点的传送,消息发送者将消息发送到队列中,消息接收者从队列中 依次取出消息消费,一条消息被消费后将不再被存储。Queue 支持存在多个消费 者,但一条消息只能被一个消费者消费。 Topic 是发布/订阅模式,消息被发布到 topic 中可以同时被多个消费者订阅和 消费。 ...... 二、名词解释 1.RPC:远程过程调用是从一台机器或一个进程调用另一台机器或另一个进程的服务或方法。 2.RMI:远程方法激活,使软件开发人员能够开发这样的分布式程序:在这个分布式程序中,其远程对象的方法能够被运行在不同主机上的其他Java虚拟机(JVM)的方法所调用。 3.存根(桩)(Stub):桩是客户内部完成打包数据和管理网络连接工作的本地对象,在客户调用远程对象上作为方法时,它实际调用的本地存根对象上的方法。 4.框架(Skeleton):框架负责接收并解包远程方法调用为本地方法调用。 5.DCE:分布计算环境(DCE:Distributed Computing Environment)是开放软件基金会(OSF:Open Software Foundation)制定的以远程过程调用(RPC)为核心的一系列规范;提供线程服务、RPC服务、目录服务、安全服务、分布式文件服务以及时间服务。 6.ORB:对象请求代理ORB(Object Request Broker)是对象总线,它能使对象透明的向其他本地或远程对象发出请求或获得应答。 7.数据访问中间件:(DAM)在分布式系统中,通过提供一系列的编程接口,屏蔽不同网络协议,操作系统和数据库管理系统平台DBMS的差异,允许应用程序一致地访问数据源的一种中间件技术。 8.消息中间件:(MOM)依据消息传送或消息队列的原理来工作,提供可靠的、跨平台的同步或异步通信。 ...... 三、各章节重点知识点、结构总结