D
ddev
Unregistered / Unconfirmed
GUEST, unregistred user!
关于分布式计算
到底什么才算是分布式计算?是不是建立一个应用程序服务器,然后再用个客户连接就算是?
在什么样的情况下,应该应用分布式计算,而什么样的情况下应用使用传统的 C/S 模型?
现在书籍上所说的分布式计算,好象很少说到它的本质内容,包括李维的几本书。大多介绍都
是建立一个应用程序服务器(可能的话还会有一个 WEB 服务器,当然一个数据库服务器总是少
不了的),然后再建立客户连接,这样就称之为“三层计算”或是“n 层计算”,那么分布式
计算的主导思想到底是什么呢?
别说小弟范傻,我就对这些东东弄不清楚。我的想法是:对于以上所说的模型,应该是一个分布
式的连接,而不能称得上是分布式计算。在我想象当中,分布式计算应该是这样的一个模型:
1、客户不关心数据逻辑,而只需关心事务逻辑;
2、客户的本地事务逻辑似乎不应该放到应用服务器上,除了仅是查询类的客户系统,比如我们
现在的 Internet 连接,因为没有特殊的或者说是复杂的计算要求,因此瘦客户类型的分布就
特别适用于它。而如果客户系统需要担当计算要求,那么数据的提交事务与处理事务相对来说,
大多应该由本地完成,此时,服务器可能就只是一个简单的文件服务系统(传统 C/S 胖客户);
3、客户不应该捆绑数据库限制,各种数据请求应该通过一个合理的方式进行,比如:客户简单
发出一个 SQL 请求,该请求无需限定于什么类型的数据库,而只需遵循于某个规范,比如:
SQL-92。然后,应用程序服务器分析该 SQL 请求,获取所需的数据流,再传递给客户。至于用
什么样的连接,连接什么样的数据库,则由应用服务器逻辑本身去完成。客户作事务提交时道理
相同。这样对于某些类型的数据,完全可以用类似文本来代替,而不必要大题小作地建立一个数据
表来存储了 --- 客户不需要绑定数据库,就可以有更大的余地作界面上的处理,多好!
4、象 MySQL ,在 mysql_real_query() 之后,必须 mysql_fetch_row()/mysql_free_result(),
而传递内容则通过标准的数据结构 MYSQL_RES/MYSQL_ROW 来析出,而 IB 则通过 XSQLDA 来传递,
如果能有一个中介结构,而不捆定于任何一个类型的数据库,比如:SQL_RES,那么在应用执行完
查询后,就以标准结构 SQL_RES 返回,客户提交同理。这样,客户机只需要处理结果集的列表,
而再也不用关心什么样的数据连接了;
...
如此问题,希望各位大侠能指点迷津。
到底什么才算是分布式计算?是不是建立一个应用程序服务器,然后再用个客户连接就算是?
在什么样的情况下,应该应用分布式计算,而什么样的情况下应用使用传统的 C/S 模型?
现在书籍上所说的分布式计算,好象很少说到它的本质内容,包括李维的几本书。大多介绍都
是建立一个应用程序服务器(可能的话还会有一个 WEB 服务器,当然一个数据库服务器总是少
不了的),然后再建立客户连接,这样就称之为“三层计算”或是“n 层计算”,那么分布式
计算的主导思想到底是什么呢?
别说小弟范傻,我就对这些东东弄不清楚。我的想法是:对于以上所说的模型,应该是一个分布
式的连接,而不能称得上是分布式计算。在我想象当中,分布式计算应该是这样的一个模型:
1、客户不关心数据逻辑,而只需关心事务逻辑;
2、客户的本地事务逻辑似乎不应该放到应用服务器上,除了仅是查询类的客户系统,比如我们
现在的 Internet 连接,因为没有特殊的或者说是复杂的计算要求,因此瘦客户类型的分布就
特别适用于它。而如果客户系统需要担当计算要求,那么数据的提交事务与处理事务相对来说,
大多应该由本地完成,此时,服务器可能就只是一个简单的文件服务系统(传统 C/S 胖客户);
3、客户不应该捆绑数据库限制,各种数据请求应该通过一个合理的方式进行,比如:客户简单
发出一个 SQL 请求,该请求无需限定于什么类型的数据库,而只需遵循于某个规范,比如:
SQL-92。然后,应用程序服务器分析该 SQL 请求,获取所需的数据流,再传递给客户。至于用
什么样的连接,连接什么样的数据库,则由应用服务器逻辑本身去完成。客户作事务提交时道理
相同。这样对于某些类型的数据,完全可以用类似文本来代替,而不必要大题小作地建立一个数据
表来存储了 --- 客户不需要绑定数据库,就可以有更大的余地作界面上的处理,多好!
4、象 MySQL ,在 mysql_real_query() 之后,必须 mysql_fetch_row()/mysql_free_result(),
而传递内容则通过标准的数据结构 MYSQL_RES/MYSQL_ROW 来析出,而 IB 则通过 XSQLDA 来传递,
如果能有一个中介结构,而不捆定于任何一个类型的数据库,比如:SQL_RES,那么在应用执行完
查询后,就以标准结构 SQL_RES 返回,客户提交同理。这样,客户机只需要处理结果集的列表,
而再也不用关心什么样的数据连接了;
...
如此问题,希望各位大侠能指点迷津。