Java分布式架构与设计

2018-10-21 15:32马军
科技信息·中旬刊 2018年7期
关键词:分布式

马军

摘要:随着时代的发展,当前时代中人们越来越关注计算机技术的发展,这是因为人们的生活已经同计算机技术紧密的结合在一起,从而导致人们的生活难以离开计算机技术。在这种情况下,我国各行各业都在积极的将计算机技术融入其中。而一些计算机技术,也在不断的寻求自身的发展。例如在计算机领域,当前的科学家就在不断的寻求JAVA和分布式计算相互结合,从而让二者都能够更好的运行。这是一种技术上的突破,因此是当前时代最为主流的研究项目之一。在这种情况下,本文从分布式计算入手,来探究Java分布式架构与设计。

关键词:分布式;java;RMI

计算机技术其实出现的较早,因为最早的计算机是用于计算的,和互联网技术其实没有太大的关系。但是当美国军部将几台计算机连接到了一起实现数据共享,联合计算的时候,互联网就出现了,也成为了计算机技术中不可分割的一部分。而事实上,最近些年中,最受人们重视的计算机技术也是互联网技术。它让世界之间的距离大大的缩短,也让人们生活的更加方便。JAVA和分布式计算都是当前时代中最为重要的内容之一,二者都是我国当前计算机设计领域中的核心部分,因此,我国大部分的科学家都在不断的让二者相互融合,希望能够提升运行的速率和准确性。这对于我国计算机领域的发展而言是极其重要的。但是目前来看,我国JAVA技术和分布式计算技术结合的并不好,其中还存在一定的问题,在这种情况下,就需要重新寻求JAVA分布式架构与设计,才能够让二者更好的结合在一起。针对这种情况,本文做出了如下探究:

1 分布式计算

1.1 分布式计算系统

分布式计算其主要的内容其实就是将一个较为复杂的运算内容不断的分拆,然后通过多个计算中枢来完成计算的一种手段,这是一种较为常见的手段,能够较好的保证计算结果的准确和速度。

1.2 分布式计算应用程序的特点

在当前来看,分布式计算应用程序的特点主要有两个:第一个就是能够快速的完成计算。其主要的原因在于,单一的复杂算式解决难度是较大的,但是如果将其拆解成较小的算式,就能够让各部分快速的完成计算,每一个部分工作量都是较少的。除此之外,单一的大算式是需要一步一步解决的,而采用分布式计算,就能够多个单元一同解决,从而保证计算的速度和效率。第二个就是能够保证计算的准确率。在进行计算的时候,一般越复杂的算式错误率越高。在这种情况下,采用了分布式计算,就能够让复杂的算式变得相对简单,从而能够有效的提升计算准确率,这对于计算而言是至关重要的。基于这两种情况,分布式计算是当前时代最为重要的内容之一。

1.3 分布式计算面临的问题

在分布式计算面临的问题中,其主要的内容应该分为两个部分,第一个部分就是分布式计算中容易存在数据被盗窃的风险。分布式计算是在多个计算机中完成的,因此其本身的计算数据是需要不斷发送的,在这种情况下,计算数据就会出现被盗取的风险。越是复杂的算式,其本身发送的频率越高,出现被盗取的风险也就越大。当然,在一定的程度上来看,其盗取的仅仅是其中一部分。但是并不排除高级黑客能够通过一部分追踪整个算式。第二个部分就是容易出现数据丢失的情况。和上个问题类似,分布式计算是通过不断的发送小算式并通过小算式组成大算式的方法来完成计算,在这种情况下,发送的途中如果出现信号问题等,就可能造成内容的丢失。

2 Java技术

2.1 Java在分布式计算上的优势与不足

Java作为当今最为流行的编程语言,其本就是应网络而生的,更因为其提供了众多的类与方法,其对网络分布式计算有着天然的友好性。其不足之处也很是明显,由于java开发分布式大多采用RMI,而RMI又有着其局限性,因为它只提供着java虚拟机之间的相互联系,它不能被其他语言所编写出来的对象或应用所使用。

2.2 Java多线程编程

多线程可以允许程序在执行中发出多个并发的指令流,并且这些指令流是乱序执行的,而我们可以轻易的通过类java.lang.Thread在java中实现多线程

2.3 Java类装载器

Java类加载器是负责动态加载java类至java的虚拟机中的,正是因为java类加载器,java程序在运行时系统不需要知道文件和文件系统。

2.4 Java RMI

前言已经提及了java对于分布式计算有着天然的友好性,其主要原因就是因为RMI。RMI中文意思为远程方法调用,其为我们提供了很方便的使java程序调用其他计算机上的java的方法,即只需经过一些初始化过程,远程方法的调用就可以和本地方法的调用一样,因此其为分布式网络的应用提供了比较完善的框架。

在RMI中,我们需要先建立一个服务器和一个或多个客户端。其中服务器必须在被客户端访问前初始化完毕,做好被远程访问的准备,而客户端则需要寻找到服务器并激活,然后使用服务器对RMI连接初始化。

3 用Java对网络分布式计算相关技术的研究

3.1 服务器与客户端的建立

首先我们需要先建立一个远程接口。在建立接口之前我们需要知道,只有在网络通信的情况下我们才可以进行远程方法的调用,但由于网络通信的不稳定性即网络出现异常或者有一方断开了连接,远程方法的调用就会失败,因此我们需要在接口中的所有的的方法中调用java.rmi.remoteexception异常,这样在远程方法调用时当网络出现异常,RMI会指出remoteexception异常,当客户端获得到这样的异常时就会做出相应的处理。此外,远程对象必须在远程的接口中申明了被用户程序远程访问。

其次我们要实现远程接口。想要实现远程接口,我们需要使用java.rmi.sever.UnicastRemoteObject类,因为在该类中我们可以实现RMI中的关于服务器和客户端的远程对象、方法以及相关参数序列化的协议交流功能。

然后我们需要创建服务器。先建立一个远程对象实例,然后在rmiregistry注册表中注册这一个远程对象实例将其与一个名字绑定,注册表的相关功能则由jdk的安装目录下的rmiregistry.exe程序完成,该程序主要是为其提供命名服务。

最终我们需要在建立一个客户端。在客户端的程序中我们需要先获得远程对象的存根对象,这些存根是由rmic生成的,我们可以通过这些存根来调用方法。

3.2 负载平衡的研究

负载平衡的意思是对系统的负载情况进行动态的调整,以此来尽力的减少系统中各个站点的负载不平衡的现象,从而提高系统的工作速度。因此负载平衡问题是分布式计算系统的核心问题之一,优秀的负载平衡方法可以使人们充分的利用分布式计算的能力。

负载平衡主要有两种算法,服务器算法:当一个站点超载时期会尝试将任务发给其他的轻站点,并且主要选择新任务作为将要发送的任务。客户端算法:当该站点的任务队列的长度小于阀值的时候,该站点就会尝试从中载站点接受一个任务,这时所有站点上的任务都有可能会作为其接受的对象。

總结:

随着社会的发展,人们对于科技的依赖已经越来越严重。其中较为主要的就是对于计算机的依赖。可以说,当前人们的生活已经与计算机无法分离了。因为无论是家庭还是工作,计算机技术的应用都几乎是全面的。如果离开了计算机,那么人们的生活将会慢下来,而且许多事情也变得难以完成。由此可见,计算机技术对于人们生活的影响是非常大的。我们当前的时代也因此被成为了计算机时代。在这种情况下,人们就不断的追求计算机技术的发展,希望能够让生活更加的快速,从而保证生活的高校。因此,JAVA分布式结构和设计成为了当前最为重要的内容,本文也提出了上述研究内容。总而言之,计算机给人们生活与发展注入新的活力,随着计算机应用逐渐普及,我国很多行业都得到快速发展,这些都是建立在科学技术支持的基础上,因此我们可以预测,当科学技术再次出现快速发展的时候,计算机应用技术会给人们提供更加全面、更好的服务。

参考文献:

[1]谢进军.Java多线程技术在考试系统中的应用[J].电子制作,2013(15):76-76.

[2]谢聪钰.Java多线程编程技术的研究[J].城市建设理论研究(电子版),2013(23).

猜你喜欢
分布式
居民分布式储能系统对电网削峰填谷效果分析
基于Paxos的分布式一致性算法的实现与优化