您好,欢迎访问三七文档
软件复用与组件开发第6章分布式体系结构软件工程系分布式系统概述分布式系统体系结构客户端-服务器体系结构瘦客户与胖客户模式分层架构MemcachedRedis本章内容6.1分布式系统概述“一个分布式系统是若干个独立的计算机的集合,但是对该系统的用户来说,感觉该系统就像一台计算机一样。”•硬件方面:每台计算机都是独立、自主的计算机•软件方面:用户感觉在独占系统分布式系统概念从集中式系统到分布式系统–高性能微型计算机(PC)的普及–高速计算机网络(LAN、WAN)的普及分布式系统概念应用举例银行网银系统连锁店“供应链”系统传感器网络(SensorNetwork)系统企业“工作流”系统系统…集中式系统集中式系统7IBMBlueGene/L(207TFLOPS=2.07x1014FLOPS)网格计算InternetP2P计算•对等的、自主的实体构成的自组织系统,以共享分布资源的使用•CPU共享:SETI@Home•存储空间(文件)共享:Napster,Gnutella,Freenet等云计算云计算是一种基础架构管理的方法。大量计算资源组成IT资源池,用于动态创建高度虚拟化的资源提供用户使用。在云计算模式下,应用、数据和IT资源以服务的方式通过网络提供给用户使用。物联网12•无线传感器网络:传感器节点组成的自组织(Adhoc)网络•感知、通信、计算分布式系统存在的问题1、系统和需求越来越复杂,软件和应用不断面临新的挑战•操作系统、中间件、编程语言、工具2、网络性能的限制•QoS(带宽、速度)3、安全性•黑客、泄密、盗用、破坏分布式系统软件相关概念系统分类:关联的紧密程度、自治性(autonomy)1.紧耦合式(tight-coupled)2.松耦合式(loosely-coupled)紧耦合松耦合软件硬件松耦合紧耦合分布式OS多处理机OS网络OS中间件系统多机OS分布式系统的设计目标透明性(Transparency)①访问透明性:用户不必知道数据表示和访问方法②位置透明性:用户不必知道资源位于何处③迁移透明性:资源可以不改名,而随意移动④重定位透明性:资源可在使用中移动⑤复制透明性:用户不必知道有多少个备份存在⑥并发透明性:多个用户可以自动地共享资源⑦故障透明性:用户不必了解故障恢复处理分布式系统的设计目标开放性开放式系统–符合标准协议(语法和语义规则)–例:IDL(接口定义语言)特点:–互操作性:不同系统可共同工作–可移植性:应用程序可在不同系统上运行–灵活性:可配置不同开发者的组件–可扩展性:可增减组件分布式系统的设计目标可伸缩性(scalability)•指标:•尺寸可伸缩性•地理位置可伸缩性•管理可伸缩性•限制尺寸可伸缩性的问题:•集中式服务•集中式数据•集中式算法分布式系统的设计目标可靠性•可用性(availability)•“或“相关性、”与”相关性•安全性•身份认证、入侵监测•容错性•硬软件冗余•恢复和接管分布式系统的类型根据分布式系统的应用类型,可划分出3种分布式系统分布式计算系统:高性能科学计算分布式信息系统:信息管理和事务处理分布式普式系统:嵌入式应用分布式计算系统计算机集群系统主节点:管理节点从节点:计算节点20管理程序并行组件库本地操作系统主节点并行应用程序并行组件库本地操作系统子节点并行应用程序并行组件库本地操作系统子节点...分布式计算系统计算机集群系统管理程序:系统管理和配置、作业管理并行组件库:基于消息的通信工具本地操作系统:标准的通用OS并行应用程序:并行执行的应用程序21分布式计算系统计算机网格系统虚拟组织:逻辑上统一的一组人或机构资源:服务器、存储、数据库等22汇集层连接层资源层光纤层应用层资源分布式计算系统计算机网格系统光纤层:资源的接口连接层:通信协议资源层:管理单个资源汇集层:对多个资源的访问应用层:虚拟组织的应用程序面向服务的体系结构(SOA)开放式网格服务体系结构(OGSA)23分布式信息系统事务处理系统(Transactionprocessionsystem,TPS)事务:组织中日常发生的、具有重复性的基本业务活动事务的ACID性质:原子性、一致性、隔离性和持久性TPS的作用是将各种业务活动处理过程计算机化24客户应用程序TP监控器DB服务器DB服务器DB服务器事务处理请求答复分布式信息系统事务处理系统三种处理方式联机实时处理:事务活动发生时,对输入数据立即处理联机延时处理:到一定时间,才将事务输入的数据处理批处理:事务数据积累到一定数量一起处理25客户应用程序TP监控器DB服务器DB服务器DB服务器事务处理请求答复分布式信息系统企业应用集成(EAI)应用程序之间的互操作通信中间件:RPC、RMI、MOM(MessageOrientedMiddleware)等26通信中间件DB服务器端应用程序客户应用程序客户应用程序DB服务器端应用程序DB服务器端应用程序物联网智能家庭系统家庭网络,连接所有家用电器等设备通用即插即用(UPnP)标准个人数据空间(dataspace)管理27分布式普适系统电子保健系统人体局域网可穿戴设备28物联网人体局域网网络内数据处理29物联网无线传感器网络计算能力有限通信能力有限30电能有限分布式系统概述分布式系统体系结构客户端-服务器体系结构瘦客户与胖客户模式分层架构本章内容32•软件体系结构(SoftwareArchitecture)•软件的组件,以及组件之间的相互关系•软件体系结构的要素•组件(component):模块单元,能提供良好的接口•连接器(connector):实现组件间通信的机制体系结构的样式6.2分布式系统体系结构多处理器体系结构最简单的分布式系统模型系统有多个进程组成,这些进程可以但不是必须在不同的处理器上运行用于许多大型实时系统中对进程在处理器上的分布可以预先排序也可以由分配器动态分配TrafficlightsLightcontrolprocessTrafficlightcontrolprocessorTrafficflowprocessorOperatorconsolesTrafficflowsensorsandcamerasSensorprocessorSensorcontrolprocessDisplayprocess34•系统由自上而下的不同层次的组件组成;•只有相邻的层次可以通信;•请求消息自上而下,响应自下而上;层次型体系结构第N层第N-1层第2层第1层35•基于对象模型•每个组件对应一个对象;•组件之间通信通过远程方法调用(RMI)实现;面向对象的体系结构对象对象对象对象对象36•组件间的通信,通过基于一个公用的存储(如共享的分布式文件系统)实现•例如,基于Web的分布式系统,组件使用共享的基于Web的数据服务以数据为中心的体系结构37•组件间的通信,通过事件(可带有数据)的传播实现;•例如,发布/订阅(publish/subscribe)系统•RabbitMQ(MQ:消息队列)•ApacheKafka以事件为中心的体系结构组件组件传送发布事件总线组件组件组件共享(持久)的数据空间传送发布分布式体系结构分布式体系结构事实上所有大型计算机系统都是分布式系统;信息处理分布在很多机器上而不局限于单一机器;分布式软件工程现在变得非常重要。分布式体系结构系统类型个人计算机系统:不是分布式的,运行在个人计算机系统或者工作站上;嵌入式系统:运行于单处理器或一组处理器上;分布式系统:系统软件运行在通过网络相连的一组松散的集成在一起的处理器上。分布式体系结构简介分布式体系结构特征①资源共享(Resourcesharing)②开放性(Openness)③并发性(Concurrency)④可伸缩性(Scalability)⑤容错性(Faulttolerance)⑥透明性(Transparency)⑦复杂性(Complexity)⑧保密性(Security)⑨不易管理(Unmanageability)⑩不可预见性(Unpredictability)层次型体系结构用户接口层、处理层、数据层例:搜索引擎41三层体系结构举例用户接口应用服务器数据库服务器42时间分布式系统概述分布式系统体系结构客户端-服务器体系结构瘦客户与胖客户模式分层架构本章内容6.3客户端-服务器体系结构客户端(Client):服务的请求者服务器(Server):服务的提供者典型服务器包括文件服务器、数据库服务器、Web服务器12OS内核客户端OS内核服务器请求响应6.3客户端-服务器体系结构服务器与服务的区别服务器是一个为多个客户端提供一个或多个服务的硬件/软件系统服务在客户端/服务器系统中是指一个满足多个客户端需要的应用软件组件6.3客户端-服务器体系结构客户端-服务器体系结构提供服务的服务器和使用服务的客户端被区别对待——非对称一个应用程序建模成一组服务(含义及形式?),由服务器提供,并由客户端来使用客户端要知道服务器的存在,但不需要知道其他客户端的存在客户端和服务器是逻辑过程进程和处理器之间没有必要非得1:1映射客户端-服务器体系结构瘦客户/胖服务器:用户接口简单,但后端负载重胖客户/瘦服务器:能提高性能,但管理困难47客户端服务器客户端-服务器体系结构瘦客户与胖客户模式瘦客户(Thin-clientmodel)•所有的应用处理和数据管理都在服务器上执行。客户端只负责表示部分(包括简单的交互逻辑);•遗留系统可以发展成这种客户端/服务器体系结构;•主要缺点是它把繁重的处理负荷都放在了服务器和网络上。客户端-服务器体系结构瘦客户与胖客户模式胖客户(Fat-clientmodel)•服务器仅仅负责数据管理.客户端上的软件实现应用逻辑和与系统用户的交互(甚至有数据备份);•更多的处理委派给客户端,应用处理在本地执行;•比容易管理的瘦客户端模型更加复杂。新版本不得不在所有的客户端上安装(维护复杂)。客户端-服务器体系结构客户端-服务器体系结构的种类:多客户端/单服务器体系结构模式多客户端/多服务器体系结构模式多层客户端/服务器体系结构模式客户端-服务器体系结构多客户端/单服务器体系结构模式Server《localareanetwork》Client1Client2Client3客户端-服务器体系结构多客户端/多服务器体系结构模式Server1《localareanetwork》Client1Client2Client3Server2客户端-服务器体系结构多层客户端/服务器体系结构模式存在既扮演客户端又扮演服务器的中间层Server1既是Client1的服务器,又是Server2的客户端Server1Client1Server2客户端-服务器体系结构客户端与服务器之间的通信模式①带回复的同步消息通信②异步消息通信③带回调的异步消息通信④不带回复的同步通信⑤代理者模式⑥群组通信模式客户端-服务器体系结构客户端与服务器之间的通信模式带回调的异步消息通信也称作请求/响应模式客户端发送请求后,等待服务器的响应,得到响应后再往下执行如果有一个服务有多个客户端,则会在服务器端建立一个消息队列aClientaService1:sendMessage(inrequest,outresponse)客户端-服务器体系结构客户端与服务器之间的通信模式异步消息通信也称作松耦合消息通信模式客户端发送请求后,不等待服务器的响应通常在客户端与服务器之间建立一个先进先出的消息队列aClientaService1:sendMessage(inrequest,outresponse)客户端-服务器体系结构客户端与服务器之间的通信模式带回调的异步消息通信客户端向服务器发送请求后可以继续执行自己的工作而不需要等待服务的回答服务器需要在稍后向客户端发送答复信息
本文标题:分布式体系结构
链接地址:https://www.777doc.com/doc-7121554 .html