分布式计算(一)基本范型

对于分布式的概念既模糊又有些理解,总是无法很好的把握,似乎与我们工作无关,但又天天在用,  究竟什么是分布式,

它能做什么?从那下手,网上可以查到很多,都使我越来越糊涂,大概是分布式计算、分布式存储、分布式缓冲等。日日梳理这些

模糊的东西,希望能有一天,能从这里走出一条光明的路。

1、 根据分布式计算抽象层次和封装层次的不同,可以将分布式的计算范型分为以下几类:

2、消息传递范型

消息传递(Message Passing) 范型利用网络API,完成将用户请求进行打包、传送和解包的工作,必要时还要考虑通信缓冲区操作及跨平台数据格式表示等问题。

消息传递范型是分布式计算最基础的形式,Socket API 即基于此类范型。实现消息传递的方式由两个进程来实现,一个进程发送代表请求的消息,此消息被传送到接收者,

接送者处理此请求,并发送一条应答消息;另一个进程应答消息可能导致下一个请求,并产生下一个回答。

3、远程过程调用范型

远程过程调用(RPC)试图使对另一台机器上的过程进行调用看起来像是对本地同一地址空间中的过程进行调用。远程过程调用的通信模型是一种基于C/S的同步通信方式,它以过程调用方式来完成远程通信。

RPC通常是通过使用某一类型的接口定义语言(IDL)描述接口来达到的。

4、分布式对象范型

分布式对象技术是在分布式环境下跨平台、跨语言的基于对象的分布式计算技术,它使得对象用户在使用对象时可以访问网络上任意有用的对象,而不必知道该对象所处的位置。

分布式对象技术是构建业务应用框架和软件构件的核心技术,它们中具有代表意义的有三类,即Microsoft 公司的 COM/DCOM/COM+ 技术、Sun公司的JavaBeans、RMI和OMG的CORBA技术。

5、分布式组件模型

1)CORBA组件模型CCM

CORAB是OMG在1991年提出的公用对象请求代理程序结构技术规范。CORAB的底层结果是基于面向对象模型的,由OMG接口描述语言IDL、对象请求代理(ORB,Object Request Broker)和IIOP标准协议(Internet Inter-ORB Protocol) 3个关键模块组成。

2)EJB组件模型

EJB是J2EE的核心技术之一,是建立基于Java的服务器端组件的标准。EJB不局限于一种特定的操作系统,也不局限于任何一种特别的机构、服务器解决方案、中间件或者通信协议,是可重用、具有高度可移植性的组件。

EJB2.0 规范定义了三类不同的企业Bean,分别是会话Bean、实体Bean和消息驱动Bean。

3)COM组件模型

COM 是Microsoft公司的软件组件标准,包括统一数据传输、持久存储和智能命名、COM核心等内容。

6、面向服务的体系结构

为了实现可重用性、松散耦合、粗粒度、互操作性等设计目标,面向服务的体系结构(SOA,Service-Oriented Architecture)侧重于服务(Services)的发布、发现和使用

SOA的基本思想是以服务和核心,将企业的IT资源整合成可操作的、基于标准的服务,使其能被重新组合和应用。

通俗地说,SOA可以将网络应用作为一个个不同的服务组合起来,每个服务都相对独立,既不依赖于实现技术、底层接口,也不依赖于其他服务;不同的服务间可以以一种统一和通用的方式进行交互。

时间: 2024-12-21 11:09:54

分布式计算(一)基本范型的相关文章

由Cannot create a generic array of ArrayList<xx>引出的学习--Java范型

最近在用Java写某个程序时希望写出一个包括ArrayList<xx>的数组 自己定义如下: ArrayList<edge>[] edges = new ArrayList<edge>()[10]; 然后编译器报错如下: Cannot create a generic array of ArrayList<edge>; 在C++里可以这样比较方便的定义:  vector<edge> a[100]; 在Java里报错,查询了一下,见已经有人在sta

利用传入的Type类型来调用范型方法的解决方案

起因:自定义一个GridView控件,其数据源来源于一个通用方法Get<T>(),根据你传入的T到数据库中得到相应的数据,问题是定义GridView控件时没法在界面端设置使用泛型,只能在每个使用这个GridView控件时绑定数据.如果你没看懂这个起因也没关系,我们用一段代码来描述一下问题:我希望使用的是从外边传过来的类型tt来调用test1范型方法 class Program     {         static void Main(string[] args)         {    

《七周七语言:理解多种编程范型》のIo课后习题答案

哎,因为上周忙着写OAuth2.0服务端框架草稿 ,耽误了一周学习Io Language了. 本篇习题解答是接着 <七周七语言:理解多种编程范型>のRuby课后习题答案 Io是原型语言,类似于JavaScript,并不区别类和对象,所有的东东都是对象,对象的数据结构就是由键值表来维护的(在Io中就是所谓的槽),通过各种消息传递给对象来实现打印输出,复制对象等功能.因为语法非常简单(也木有语法糖),所以你可以尽情构建自己的库和功能. 第一天: 1. 对1+1求值,然后对1+"one&q

java范型集合中的成员排序

范型集合中的类是JsonObject,不是自定义类,如果是自定义类就直接取要比较的字段值. 1 ArrayList<JSONObject> TList = new ArrayList<JSONObject>(); 2 3 for(int i=0;i<10000;i++) 4 { 5 JSONObject object=new JSONObject(); 6 Random rand = new Random(); 7 int randNum = rand.nextInt(200

Java范型随笔

最近在帝都好无聊啊, 排遣寂寞就只有让自己不要停下来,不断的思考了 QWQ; 最近做ndk, java有点忘了,突然看到了一些java范型方面的问题, 踌躇了一会, 想着想着,决定还是写个随笔记录下来. 范型语法这个网上找度娘可以要到一大把, 我就不记了, 主要是范型上下限问题. 案例: public class Test { public static class Base{ } public static class A extends Base{ } public static class

开发笔记1: 范型

ORM实现有反射.范型.代码生成等几种常见方式,或者单用,或者混合. c#的范型非常强大,应用于ORM时,可能有些特性显得更重要. 一开始实现时,我尝试写一下代码做为ORM基类 namespace Coat { public class ORMBase<T> where T : class { ... public bool Update() { using (var conn = OpenConnection()) { //Beblow compile error, because conn

Epplus下的一个将Excel转换成List的范型帮助类

因为前一段时间公司做项目的时候,用到了Excel导入和导出,然后自己找了个插件Epplus进行操作,自己将当时的一些代码抽离出来写了一个帮助类. 因为帮助类是在Epplus基础之上写的,项目需要引用Epplus.dll.自己基础不是很扎实,有问题的地方欢迎指导. 1.用法,默认excel第一列是头部信息. public class UserInfo : XlsRow { public int id { get; set; } public string username { get; set;

Swift快速入门之延迟调用与范型

defer defer 就像当于其它语言中的final代码块,它在函数中所有其它代码之后,函数返回之前运行.不论函数有没有抛出错误,它的代码都能运行.如下: var fridgeIsOpen = false let fridgeContent = ["milk", "eggs", "leftovers"] func fridgeContains(itemName: String ) -> Bool { fridgeIsOpen = true

父类如何获取子类的范型

1,spring中一配置了<bean></bean>再启动项目的时候就会自动创建该类的实例. 2,java内存那块还得继续深入. 3,上代码: public class subParam extends param<myclass, myinvoke> {  //subParam 继承了param .param里面俩范型 public static void main(String[] args) throws Exception{ subParam  s = new