`
gashero
  • 浏览: 944021 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

数据与服务的集成

阅读更多

数据与服务的集成

 

这是最近一直思考的一个问题。主要是针对中央存储而言。对一个系统来说,各个角色的分开有利于看起来比较清晰,但问题是这些角色之间因为通过网络连接而造成系统时延的增大。同时每个层次都有可能形成系统的单点而影响系统的稳定性。

 

而数据与服务的集成,也就是将数据放在距离服务最近的地点,就可以消除这种时延。比如我之前开发的CDN系统,就是web服务器使用本地硬盘的存储。而由我开发的软件来确保文件的分布与冗余。这样从存储到服务的距离缩短了,系统的效率也就提高了。存储本身也不再是系统的单点了。

 

这样的问题又让我思考其了这种数据与服务集成的更深入的用法。现代的网站大多提供了三层的服务结构,也就是数据库-逻辑-web前台。这样的三层结构要经历两层网络通信,效率自然不用我多说。而如果将这三层融合的话,系统效率就会获得惊人的提高。同时也消除了系统的典型单点-数据库。

 

这样的设计就会简化的多了。同时系统效率也会提高很多。设计元素包括:

 

1、一个存储系统、无论是分布式存储还是集中式存储。存放了所有应用数据,而且要有能力进行数据切片,即将数据库按照记录数量分为很多部分。这是真正保存数据的地方。

2、应用服务器。内含本地数据库,只用于查询,在启动时数据从存储系统载入。内含逻辑实现和web前端一直到web服务器。

3、负载均衡。提供按照应用服务器注册的用户服务范围分派任务到应用服务器。

 

这样的架构设计中,所提到的每一个部件都需要具备很高的定制能力。至少存储系统我还没见支持数据分片的。负载均衡也没法提供注册功能。

 

好吧,很多思路还不是很清晰。以后试试。实践出真知。

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics