• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

初识分布式服务系统的结构

发布: 2007-6-23 19:14 | 作者:   | 来源: 网教中国  | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网

   
  最近刚好在开发一个分布式服务系统,从服务器的搭建到服务软件的设计方方面面都要亲自动手,一段时间下来,颇有心得,拿来跟跟大家分享一下。

  首先,我们要知道什么是分布式服务系统?分布式服务系统就是将服务系统的功能拆分,将各个功能放在几个独立的组件上,通过这几个组件之间的相互协作,来完成整个系统的功能。在这里,几个独立的组件可以是指几个独立的CPU,但更通常的是指网络上的几台计算机。

  采用分布式系统,最大的优点表现在系统的处理速度上。系统的各个功能放在几个独立的组件上,各部分的组件完成自己的功能块,以并行的方式协同工作。我们可以假设一个服务过程A要由1、2、3三个任务块,每个任务块要花费5秒钟来完成的话,普通的服务系统就需要15秒钟才能完成一个服务过程;但是如果采用分布式服务系统的话,最快可以达到5秒钟就可以完成这个服务过程。而且,分布式服务系统由于其处理各部分功能集中,可以最大程度上提高各部分服务器硬件的能力,如专门负责数据处理的可以降低硬件的其他成本而提高其处理器能力,这也很大程度上有利于提高他的处理速度。分布式服务系统另外优点在于个功能模块分开,便于管理、维护和更新,服务器的管理维护在大型的服务系统中也是相当重要的。

  举个例子来说吧,我们当前开发的这个分布式定货服务系统,就是通过三个服务器组建而成:一个IIS WEB发布服务器;一个COM+ APPSERVER;一个MS_SQL数据库服务器。我就借这个例子,来说明一下一个典型的分布式服务系统大致的组成部分:

  表示层。表示层主要负责业务层与用户之间的交流接口和数据传递工作,这部分虽然是唯一一个直接与用户打交道的部分,但是在整个服务系统设计中,工作最简单的一部分。它只要负责业务层与用户间简单的数据传递以及一些简单的数据处理就行了。上面例子中的IIS WEB服务器就是属于这一部分。

  业务层。这是分布式服务系统的心脏,最主要的数据处理工作和服务就由这一部分完成和提供。在服务系统组建和服务软件开发过程中,这一部分花费的时间和精力也是最多的。例子中的COM+服务器就属于这一部分,主要负责定单的处理,如果计算运费、收益利润等等事情。

  数据源。这部分主要用于存储数据。目前市面上的SQL Server,Oracle等数据库系统基本上能完成大部分的工作。不过我们有时候需要根据自己的需要做一些功能的扩展。但这些开发过程的分量是微不足道的。例子中的MS_SQL数据库服务器就属于这一部分。

  从上面的例子我们可以看出来,一个简单的分布式服务系统,由于个部分功能和用途不一样,所以对其软硬件要求也不一样。对于负责表示层的服务器,要求是最低的,所以就硬件选择上,应该着重它的经济性,并不需要太高的服务器配置。对于负责业务层的服务器,我们从上面的分析过程中也看出来了,他是处理数据的主要部分,所以它的处理速度和能力在极大程度上决定了整个系统的速度和能力,所以软件开发上要要特别注重它同前(数据源)后(表示层)之间的并行处理能力,注重软件的处理速度,资源消耗等问题;在硬件上,对CPU和内存的要求也是整个系统中最高的。最后是负责数据源的服务器,他的软硬件要求要根据具体的情况而,如果数据量比较大,就要采用大的数据库系统如Oracle,其存储器要求也是要求大而快;如果数据量比较小,可以采用SQL Server,My_SQL等数据库服务器。数据源服务器的CPU、内存选取也要根据数据查询检索要求而定,如果数据查询检索比较繁多,数据量又特别大的话,就需要注重选取快的CPU和大的内存了。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网