最近闲来无事就对“分布式系统”做了一点小小的研究,我觉得这种技术相当不错,可能很多朋友都听说过“分布式”这个概念,我对这种技术的个人理解就是:分布式系统包括很多成员,它们之间资源是相互共享的,从大的方面看是共同担负处理任务,但是以个体为单位单独处理每个小的任务,然后被一个中央处理单元将所有信息合并的一个系统。这种技术就是基于服务器端的一种技术,我就按照我的理解来做了一个简单的模型(做错的地方请大家指教J) 下面我就来介绍一下这个模型的构造以及数据库设计问题: 服务器A:担任数据库服务器同时又担任WEB服务器(平台WIN SERVER2000 , IIS5.0 , SQL SERVER 2000 , IP地址为192.168.0.1) 服务器B,C,D:担任WEB服务器(平台WIN SERVER2000 , IIS5.0 ) 首先我们设计数据库的时候要考虑的问题就是这个系统的特性“分布”,即A,B,C,D四台服务器在实际应用中他们的地理位置不一定是集中的,比如SOHU的服务器,遍布各地,但是我们每个人看到的消息都是一样的,它也是一个较大的分布式网站系统,由于地域的差异造成服务器端时间的差异,我们既要对用户正确的表示本地的时间,又要方便管理数据库,那么就要对入库的数据有一个统一的时间编号,这个工作当然就只有在数据库中实现了,于是我设计了2个时间的字段,一个WEB_TIME用来存储从WEB服务器传递过来的日期时间,一个DATA_TIME用来存储数据入库时当前数据库服务器的系统日期时间 这样就完成了重要的一部,(本人遇到的在A服务器添加数据时可以写入DATA_TIME,而无法在B,C,D服务器上写入DATA_TIME的原因就在于忘了在该字段设置该字段不为空,呵呵,只要设置了不允许为空就ok了)然后将DATA_TIME默认值设置威getdate()这样在写入每条数据的时候就由SQL自己自动取得当前数据库服务器的系统时间并写入,呵呵,这样就完成了时间的统一问题,然后我比如做一个注册系统再设置name和pass两个字段来存储用户的用户名和密码,呵呵,完成了数据库的设计,接下来就是WEB程序了,呼呼 WEB程序部分: 1. 连接数据库(conn.asp) 对于A服务器来讲,它本身既是数据库服务器又是WEB服务器,所以它连接数据库的代码如下: <% set conn=server.createobject("ADODB.connection") conn.open"PROVIDER=SQLOLEDB;DATASOURCE=localhost;UID=sa;PWD=;DATABASE=db" %> 对于其他WEB服务器来讲他们连接的时远端的数据库服务器所以代码改为: |