一、分布式应用系统开发背景

近十年来,通信技术和计算机技术都得到了长足发展,主要表现在:光纤通信技术的传输速率达到了难以置信的高度;无线通信技术则从模拟发展到数字,从窄带发展到宽带;计算机技术的则在计算处理速率、并行处理结构以及面向对象的软件技术和分布对象计算技术方面获得突破性发展。计算机CPU处理速度按照摩尔定律不断提升,已经达到1000MHz以上;巨型计算机的处理速度已经从每秒亿次上升到每秒千亿次、甚至万亿次指令;高性能计算机体系结构和并行计算结构,使得计算机处理速度已经超越单个CPU处理速度的限制;面向对象的软件技术使得计算机软件在软件重用技术上出现了突破性进展;分布对象技术使得异构软件系统在网络环境下可以容易地实现互操作和系统集成。

通信技术和计算机技术的发展,推动了网络应用的发展。当前网络应用已经从传输单一的正文数据,发展到传输话音数据和视频数据,以及集成多种类型数据传输的多媒体网络应用;从传统的点到点交互,发展到单点到多点交互(如视频广播和远程教育应用)和多点到多点之间的交互(如计算机视频会议应用系统);从传统的集中控制结构发展到分布控制结构,进一步发展到联邦(具有不同行政管理域的)控制结构;从传统的尽力而为的、没有任何服务质量要求的服务模式,发展到高速运输服务模式和具有服务质量保证的高性能网络服务。

网络体系结构的发展体现了网络技术发展的特征。20世纪80年代网络技术的主要特征是开放、互连,那个时期的网络体系结构主要是基于ISO的开放式系统互连(OSI)参考模型。现在计算机网络已经发展到高性能网络阶段,现在网络技术的特征在于开放、集成、高性能和智能化。这些网络技术的特征同样也体现在网络体系结构的发展中。我们认为,对新型网络体系结构影响最大的主要是集成和高性能。

分布式网络应用范围及其广泛,包括在线事务处理系统,网管系统,全球个人通讯系统,电子医疗图像系统,CORBA的对象请求代理,高性能WEB服务器和多处理器通信子系统。

二、分布式应用系统的好处和面对的挑战

基于网络的分布式应用能够带来如下潜在的好处:

Ø         增强的连通性和协作性:信息对所有的客户都是快速可访问的,避免手工进行数据和控制信息传输

Ø         显著提高的系统性能、可扩展性和容错性:根据当前和未来的系统要求合理分配计算资源;在新的硬件被添加到系统中或相关硬件被更新(比如替换故障系统)不会涉及到分布式系统中其他的应用单元

Ø         降低的系统成本:多个用户或应用程序共享那些昂贵的外围设备比如文件服务器或高容量彩色打印机可以降低系统的成本;分离的服务单元有利于二进制级的代码重用减小系统后续开发代价。

分布式网络应用的典型结构是多个PC或服务器通过局域网相连。在这种环境下,众多分散的应用单元协同为终端用户提供各种计算任务。比如:

Ø         一个交互式GUI能够被XWINDOWS服务端或其他瘦客户端采用诸如支持JAVA的WEB浏览器来管理

Ø         由一个或多个主机共同提供服务处理能力

Ø         通过一个或多个文件服务器访问永久资源,比如SQL数据库、WEB CACHES 和许可管理

相互兼容的网络协议使各个相分离的应用服务(功能)单元(术语为组件)间的互操作成为可能,即使这些组件所在的网络环境中的网络协议、操作系统、硬件、软件和编程语言都是异构(不同类别)的。

一个基于网络的分布式应用从设计到实现、调试、优化和监测(Monitor)都比传统的单机应用系统要复杂和困难得多。尽管在过去的10多年来,面向对象的开发技术和框架思想(frameworks)获得很大发展,同时大量的原理、方法、模式和工具被用来减轻开发和配置分布式网络应用所带来的复杂程度,但是想要达到分布式应用的理想境界,人们还面临着很多必须解决的课题。服务的划分和跨进程/主机的负载均衡;全网范围内的服务定制问题,全网范围内的资源控制问题以及全网范围内的用户管理问题。

分布式网络应用所面临的困难:

一些是由于在分布式网络环境下自然产生的困难,包括

Ø         检测短暂(transient)发生的网络或主机故障,并且恢复正常

Ø         最小化通信延迟对端到端应用性能的影响

Ø         如何合理的划分一个分布式应用中各种服务

Ø         在网络环境下何地何时分布这些服务,同时为这些服务提供负载均衡

这些困难是在分布式网络环境下与生具有的,不会在短时间内消失。开发者还将为解决这些问题作大量的工作。

以下是由于开发工具和开发技术带来的困难,包括:

Ø         缺少类型安全的、可移植的和可扩展的本地系统方法调用接口;缺少可重用的函数和类库

Ø         缺少针对跨进程和主机的远程方法调用的有效调试工具

不断涌现的网络编程概念和对网络处理能力的不断提升,使软件的生命周期大大减短,大大增加了软件的开发费用

分布式应用系统研究(1)相关推荐

  1. 快过高铁!构建云分布式应用还能这样操作?!

    先跟跟大家说一个中国历史上杰出的军事家.政治家,长长的胡子,红的发黑的脸,骑着一匹红色的马.没错!他就是三国跑的最快的男人--曹操(说曹操曹操到)! 不说笑了. 关羽,字云长,一个我们都熟知的大英雄. ...

  2. 干货|建议初创团队起初也要构建分布式应用

    2019独角兽企业重金招聘Python工程师标准>>> 干货|建议初创团队起初也要构建分布式应用 本文内容整理自W-Time技术分享沙龙-天津站现场演讲<一切都是分布的> ...

  3. 浅谈协同工作流的分布式应用

    2019独角兽企业重金招聘Python工程师标准>>> 基于工作流引擎创建的各类业务系统,因为用户分布在不同的地理位置,工作在不同的软.硬件平台之上,常会出现工作流引擎之间互相调用的 ...

  4. 黄聪:ICTCLAS分词系统研究(一)(转)

    ICTClAS分词系统是由中科院计算所的张华平.刘群所开发的一套获得广泛好评的分词系统,难能可贵的是该版的Free版开放了源代码,为我们很多初学者提供了宝贵的学习材料. 但有一点不完美的是,该源代码没 ...

  5. 大数据文字游戏_基于大数据的游戏化教学系统研究.docx

    基于大数据的游戏化教学系统研究 ―.引言 目前,我国高校在线开放课程的建设已经取得了较大的发展,在线课程的使用已经使高 校教学发生了巨大的变化.课程的网络资源可以作为延伸课堂教学的工具,有效减轻了课堂 ...

  6. 机器人抓矸石_基于机器视觉的多机械臂煤矸石分拣机器人系统研究

    工矿自动化 Industryand MineAutomation Vol. 45 No. 9 Sep.2019 第 45 卷第 9 期 2019 年 9 月 文章编号 : 1671 - 251X(20 ...

  7. 初识用.NET Remoting来开发分布式应用 (转载)

    初识用.NET Remoting来开发分布式应用 一..NET Remoting简介: .NET Remoting从某种意义上讲是DCOM的替代品.ASP.NET Web服务十分有用,但是这项技术在企 ...

  8. JMS分布式应用程序异步消息解决方案EhCache 高速缓存同步问题

    部分博客中描述的使用拦截器怎么用EJB公布的WebService加入缓存,这样能够提高WebService的响应效率.但是即使是这样做,还是要经历网络的传输的.于是决定在调用WebService的程序 ...

  9. [转载]基于数据挖掘技术入侵检测系统研究

    [---  资料是从免费网站上获取的,上载在这里,只为交流学习目的,文章原作者保留所有权力, 如本博客的内容侵犯了你的权益,请与以下地址联系,本人获知后,马上删除.同时本人深表歉意,并致以崇高的谢意! ...

最新文章

  1. 【bzoj2694】Lcm 莫比乌斯反演+线性筛
  2. NetDevOps — OpenConf 协议
  3. python代码大全p-代码这样写更优雅(Python版)
  4. python对文件的读操作有哪些方法-Python之文件操作:文件的读写
  5. Windows Server 2016-图形化备份域控制器
  6. codeforces 872 D. Something with XOR Queries(思维)
  7. $.ajax 发送请求,JavaScript之Ajax-2 Ajax(使用Ajax发送get请求、使用Ajax发送post请求)
  8. Cocos2d-x学习笔记(19)(TestCpp源代码分析-3)
  9. 杀死 Oculus ,Facebook 改名 Meta ,是押注元宇宙还是“金蝉脱壳”?
  10. 计算机改计数器的方法,第五章定时器计数器(修改)-计算机原理及应用资源共享课.ppt...
  11. uva 11178(几何)
  12. woe分析_WOE和IV
  13. ubuntu安装jdk
  14. 安装 EoLinker_4.0 开源版
  15. 公众号题库搜题对接(提供免费接口)
  16. 基于JAVA和MySQL的离散数学题库管理系统
  17. Jeff Dean三执笔:一文看尽2020年谷歌AI重大突破
  18. 桌面视频录制软件有哪些?怎么简单又快地录制视频?
  19. 一款小游戏集合自动脚本
  20. 千元机自拍新体验,vivo Z3是你会拍照的“男朋友”

热门文章

  1. gtx1660是什么级别的_英伟达GTX1660显卡什么水平你知道吗
  2. 通过压力测试提升服务器并发性能实例
  3. 【人工智能与机器学习】——Keras编程分别实现人脸微笑和口罩数据集的识别模型训练和测试(卷积神经网络CNN) + 实时分类微笑和口罩识别检测
  4. 脑机接口科普0008——侵入式与非侵入式
  5. 互联网金融概念--关于小贷公司和消费金融公司
  6. java 版spring cloud 企业电子招标采购系统
  7. zzuli OJ 1103: 平均学分绩点(函数专题)
  8. 研读《中兴电路设计规范》精华总结
  9. java 如何拆分 姓氏与姓名 姓与名字加空格,考虑单姓复姓
  10. 视频号的视频也不是那么难下载嘛