快速业务通道

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
来 我也想写一篇Acegi方面的文章,但是cac写的文档是在是太完美、太经典了,我无法超越。 我们应该让我们的应用尽量向Acegi靠拢,因为,它代表的就是安全与权限领域的最佳实践 。

第三层境界:从程序员到架构师

架构师可以干什么?如何让应用在性能,伸缩性,扩展性、可靠性,容灾,可恢复性, 可管理性等方面做到最好,就是架构师的职责,同时,架构师要能够把握软件开发的整个周 期。由于我还只是一个程序员,也没有精力去学习架构师方面的只是,因此上面的论述可能 不准确。但是,作为一个程序员,上升到一个境界之后,确实应该考虑编码之外的东西了。

举例说明,cnblogs的博客程序算式比较完善的了,我个人对站长dudu也是充满了仰慕。 cnblogs的1.0Beta2版本我也下载得有,本打算使用它建一个自己的博客网站,但是却不行 ,因为它在性能,伸缩性,扩展性方面都达不到我的要求。

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界(2)

时间:2011-05-07 blogjava 海边沫沫

不信?看看现在www.cnblogs.com吧,注册用户已经2万多了,速度也是越来越慢,经过 我一nslookup,发现它还只是一台主机在运行,而www.tianya.cn则是一个服务器集群。如 下图:

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界 - 编程入门网

造成这个问题的原因,主要就是架构的问题。cnblogs是基于.net的,.net运行于IIS之 上,而IIS又是那么的简单,更本不具备配置Cluster的功能。而cnblogs的程序在设计的时 候也没有往集群方面考虑,甚至是想多配置几个数据库都是困难的。

解决网站性能的办法有几种,一是向上扩展,也就是不断增加服务器的CPU和内存,但是 这种扩展价格非常昂贵;二是向外扩展,也就是多增加几台廉价的Web服务器和数据库服务 器,但是由于cnblogs在设计的时候没有考虑到集群功能,就必须得重构所有的代码,这个 工作量实在是太大了;三是垂直分割,也就是目前博客园所采用的方法,就是让一台主机负 责.net博客,一台主机负责java博客等等,把不同的应用分开。这样带来的负面影响是我们 就没有办法在同一个博客上面同时写.net、java、c++方面的随笔了,这确实让我感觉不爽 ,此外,在.net领域这样访问量大的领域,一样会使服务器不堪重负。

我不能让我的程序重蹈覆辙,因此,在架构阶段就应该考虑到Cluster,考虑到负载均衡 ,考虑到可扩充性,并同时使用水平分割策略。水平分割策略和垂直分割策略不同,是让每 一个Web服务器都应该能够使用程序的所有功能,而让不同的用户使用不同的服务器,比如 id为0-10000的用户和www1.cnblogs.com交互,10001-20000的用户和www2.cnblogs.com交 互,等等,如下图所示:

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界 - 编程入门网

这个时候,服务器www.cnblogs.com作为负载均衡服务器,它根据登录用户的ID将该用户 请求重定向到www1.cnblogs.com或者www2.cnblogs.com,对于匿名用户,它把用户请求随机 重定向到www1.cnblogs.com或者www2.cnblogs.com。

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界(3)

时间:2011-05-07 blogjava 海边沫沫

同时,为了能够让负载均衡服务器能够根据不同的用户来重定向到不同的Web服务器,又 要让每个Web服务器上的应用都能够得到所有各个数据库服务器数据的总的索引,需要有一 个索引数据库服务器,如下图:

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界 - 编程入门网

此外,我们还应该让Web服务器和数据库服务器可以动态增加,也就是当某一个服务器负 载到达极限时,我们可以添加一台服务器,只需要修改配置文件即可,无需更改代码,如下 图:

SpringSide开发实战(八):不是结局的结局,谈谈程序员的境界 - 编程入门网

同时配合使用动态页面静态化技术,静态化后的html页面和图片文件都保存在Web服务器 上,此时Web服务器有同时担当了缓存服务器的功能。当达到IO瓶颈的限制后,又可以通过 服务器加大内存或为服务器配置SAN(存储区域网络)来解决问题。

好了,

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号