分布式计算泛型

简介:   泛型定义为一种模式例子或模型。今天和大家共同学习一下分布式计算泛型,分布式计算泛型总共可划分为五大类共九种常见泛型,接下来一一介绍。一、消息相关  消息相关的泛型包括消息传递泛型和消息系统泛型。

  泛型定义为一种模式例子或模型。今天和大家共同学习一下分布式计算泛型,分布式计算泛型总共可划分为五大类共九种常见泛型,接下来一一介绍。

一、消息相关

  消息相关的泛型包括消息传递泛型和消息系统泛型。

1.消息传递泛型

  消息传递是进程之间互相通信的基本途径。两个进程间传递消息,一个为发送者,一个为接收者。发送者发送一条请求消息,该消息被传送到接收者,由接收着处理后返回一条应答消息。


2.消息系统泛型

  消息系统泛型或面向对象的中间件(MOM)是在基本的消息传递泛型的基础上扩展来的。该消息系统可以理解成独立与进程间的中介,这样两个互相通信的进程之间就没有了请耦合关系。由发送者发送一条消息,消息被存入消息系统,然后由消息系统转发的对应的接收者,发送者一旦将消息发送出去,就可以执行其他任务了,剩下的转发工作有消息系统完成。

  消息系统泛型可以进一步划分为两种子类型:点对点消息泛型和发布/订阅消息泛型。

1)点对点消息泛型

  这种泛型是发送者和接收者一一对应的泛型,由发送者发送一条消息到消息系统,消息系统再转发到接收者的消息队列中,消息系统可以提供暂存机制,将消息的发送和接收分离。接收者从自己的消息队列中提取消息,然后加以处理。

2)发布/订阅消息泛型

  这种泛型是多对多的泛型,多个订阅者可以有多个订阅,由发送者发送一条消息到消息系统,消息系统根据订阅者的订阅类型和消息类型将该消息转发到每一个订阅该类型消息的订阅者。这种泛型可以提供一个进程向一组进程组播消息。


二、服务器相关

  服务器相关的泛型包括客户/服务器泛型和P2P泛型。

3.客户/服务器泛型

客户/服务器泛型由客户端和服务器组成,将非对称角色分配各两个协作进程,客户进程向服务器发起请求,并等待服务器响应,服务器等待来自客户的请求,处理并给出回应。


4.P2P泛型

  P2P泛型源于P2P网络(又称为对等计算机网络)。这是一种无中心服务器,依赖用户群交换的互联网体系,每个用户既是一个节点,又充当服务器职责。可以说是没有服务器,也可以说每个用户端都是一台服务器。


三、远程调用相关

  远程调用相关的泛型包括远程过程调用泛型、分布式对象泛型和网络服务泛型。

5.远程过程调用泛型

  提供了一种能使开发人员可以像编写在单处理器上运行的传统应用程序一样,编写分布式软件系统的泛型。可以采用与本地过程调用类似的思想与概念,以进行进程间通信。


6.分布式对象泛型

  分布式对象泛型将面向对象应用到分布式系统中,是面向对象软件开发技术的自然扩展。可以使应用程序访问分布于网络上的各个对象,通过调用对象的方法,应用层序可以获取对服务的访问。

1)远程方法调用

  远程方法调用(RMI)是面向对象版本的RPC。进程可以调用对象方法,该对象可以驻留于某远程主机中。


2)对象请求代理

  对象请求代理泛型有对象请求者、对象提供者和对象请求代理组成。进程向对象请求代理发出请求,对象请求代理将请求转发到能提供预期服务的对象。


7.网络服务泛型

  网络服务泛型有服务请求者、服务提供者(对象)和目录服务三者组成。首先服务提供者将自身注册到网络上的目录服务器上,当服务请求者需要访问服务时,直接与服务器目录联系,如果请求的服务可用,则由目录服务器返回一个该服务的引用或地址,进程利用该引用与所需的服务进行交互。


四、移动代理

8.移动代理泛型

  移动代理泛型是一种可移动的程序或对象。一个代理从源主机出发,然后根据其自身携带的执行路线,自动地在网上主机间移动。在每一台主机上代理访问所需的资源或服务,并执行必要的任务来完成使命。


五、云服务

9.云服务泛型

  美国国家标准与技术研究院定义了云计算的三种服务模型:IaaS、PaaS和SaaS。

1)基础实施即服务(IaaS)

  以服务的形式提供虚拟硬件资源、用户无需购买服务器、网络设备、存储设备,只需通过互联网租赁即可搭建自己的应用系统。

2)平台即服务(PaaS)

  提供应用服务引擎,如互联网应用编程接口、运行平台等。用户基于该应用服务引擎可以构建该类应用。

3)软件即服务(SaaS)

  用户通过Internet来使用软件,用户不必购买软件,只需按需租赁软件。


目录
相关文章
|
Ubuntu 开发工具
ubuntu 服务器中文乱码
解决ubuntu 服务器中文乱码问题
支付宝 - 支付宝怎么解除自动续费?
支付宝 - 支付宝怎么解除自动续费?
6616 1
支付宝 - 支付宝怎么解除自动续费?
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
RPA江湖兵器谱:2025年最火机器人流程自动化软件大盘点
RPA机器人流程自动化正成为企业数字化转型的关键工具,助力降本增效。本文全面解析2025年主流RPA软件,涵盖国际领军者、国产翘楚与特色厂商,技术优势与行业地位一目了然,助你精准选型避坑。
|
9月前
|
人工智能 算法 搜索推荐
人工智能技术对未来就业的影响
人工智能大模型技术正在重塑全球就业市场,但其核心是"增强"而非"取代"人类工作。虽然AI在数据处理、模式识别等标准化任务上表现出色,但在创造力、情感交互和复杂决策等人类专属领域仍存在明显局限。各行业呈现差异化转型:IT领域人机协同编程成为常态,金融业基础分析岗位减少但复合型人才需求激增,医疗行业AI辅助诊断普及但治疗决策仍依赖医生,制造业工人转向技术管理,创意产业中人类聚焦高端设计。未来就业市场将形成人机协作新生态,要求个人培养创造力、情商等AI难以替代的核心能力,企业重构工作流程。AI时代将推动人类向更高价值的认知活动跃升,实现人机优势互补的协同发展。
1093 2
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
368 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
机器学习/深度学习 数据可视化 开发者
Jupyter Notebook使用技巧:提升编程效率的最佳实践
Jupyter Notebook使用技巧:提升编程效率的最佳实践
578 1
|
存储 分布式计算 负载均衡
分布式(计算机算法)
分布式(计算机算法)
|
前端开发 IDE Java
构建一个基于React和Spring Boot的简易聊天室应用
构建一个基于React和Spring Boot的简易聊天室应用
413 0
|
Rust API 开发工具
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
`Rust`语言编写的阿里云OSS的SDK,依据官方文档并参考了其他语言的实现。
977 5
Rust初学者,边学边写的OSS的sdk,欢迎批评指正 :)
|
存储 大数据 Apache
深入理解ZooKeeper:分布式协调服务的核心与实践
【5月更文挑战第7天】ZooKeeper是Apache的分布式协调服务,确保大规模分布式系统中的数据一致性与高可用性。其特点包括强一致性、高可用性、可靠性、顺序性和实时性。使用ZooKeeper涉及安装配置、启动服务、客户端连接及执行操作。实际应用中,面临性能瓶颈、不可伸缩性和单点故障等问题,可通过水平扩展、集成其他服务和多集群备份来解决。理解ZooKeeper原理和实践,有助于构建高效分布式系统。