快速业务通道

构建可扩展的Java EE应用(二) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
此应用基于Java EE编写,运行在 Tomcat和Mysql上,但不同于我们实验室中测试的其他应用,它只是希望在20多台 便宜的PC Server上进行测试,其数据模型结构如下:

构建可扩展的Java EE应用(二) - 编程入门网

Figure 7: Users data partitions

这里比较特殊的地方子碍于不同的用户数据(例如profile、blog)可能会存 储在不同的数据库实例上,例如,用户 00001存储在服务器A上,而用户20001存 储在服务器C上,分库的规则以一张元信息的表的方式存储在专门的数据库上。当 部署在Tomcat的 Java EE应用希望获取或更新用户信息时,首先它会从这张元信 息的表中获取到需要去哪台服务器上获取这个用户,然后再连到实际的服务器上 去执行查询或更新操作。

用户数据分区和这种两步时的动作方式可以带来如下的一些好处:

扩展了写的带宽:对于这类应用而言,blogging、ranking和BBS将会使得写带 宽成为网站的主要瓶颈。分 布式的缓存对于数据库的写操作只能带来很小的提升 。采用数据分区的方式,可以并行的进行写,同样也就意味着提升了写的吞吐量 。要支持更多的注册用户,只需 要通过增加更多的数据库节点,然后修改元信息 表来匹配到新的服务器上。

高可用性:如果一台数据库服务器down了,那么只会有部分用户被影响,而其 他大部分的用户可以仍然正常使用;

同时也会带来一些缺点:

由于数据库节点可以动态的增加,这对于在Tomcat中的Java EE应用而言要使 用数据库连接池就比较难了;

由于操作用户的数据是两步式的,这也就意味着很难使用ORMapping的工具去 实现;

当要执行一个复杂的搜索或合并数据时,需要从多台数据库服务器上获取很多 不同的数据。

这个系统的架构师这么说:“我们已经知道这些缺点,并且准备好了应对它, 我们甚至准备好了应对当元信息表的服务器成为瓶颈的状况,如果出现那样的状 况我们将会把元信息表再次划分,并创建出一个更高级别的元信息表来指向众多 的二级元信息表服务器实例。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号