开发者社区> 邵鸿鑫> 正文

分布式计算泛型

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

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

一、消息相关

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

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来使用软件,用户不必购买软件,只需按需租赁软件。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18579 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27715 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
12966 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
21933 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15287 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
19979 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14851 0
+关注
邵鸿鑫
java相关技术专家
142
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载