简要介绍分布式服务器系统的内部结构

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

  首先,我们要知道什么是分布式服务系统?分布式服务系统就是将服务系统的功能拆分,将各个功能放在几个独立的组件上,通过这几个组件之间的相互协作,来完成整个系统的功能。在这里,几个独立的组件可以是指几个独立的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和大的内存了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值