被宠坏的站长和被宠坏的程序员。
写给像做大站的朋友和WEB程序员,做垃圾站的朋友就不要看了。
首先引用一段话:“就像很多大厨都在讨论自己厨具的好坏而不是讨论厨艺的高低一样”,今天遇到一个很尴尬的事情。有个朋友介绍了个项目,因为自己的时间不多,就在群里发了一下,因为价值不菲,所以响应的朋友特别多,先摘录一段聊天基础出来(记录很长,有删节):
疯狂代码 15:35:55
一个资源交流网站,含Digg,聊天,博客,资源管理,资源评级软件,开发费用预算为15万左右,对性能要求很高,我现在没有时间。群里有朋友做吗?
帅斌 15:39:07
哇,我接了,5年的asp开发经验,一年的ASP.NET,肯定没有问题
亮 15:39:26
我接了,php专长,性能肯定比ASP的好,相信我
Dragon 15:39:50
加我的QQ,价格可以优惠,速度还快
Dragon 15:40:16
我懂PYTHON,土豆用的就是这个架构,性能比PHP和asp都好
亮 15:40:56
得了吧,python的性能不好,人家facebook是都用PHP的
帅斌 15:41:07
Csdn那么大流量的论坛原来还是ASP做的呢,myspace两亿用户人家用的是ASP.NET!!
后面的不说了,几位大侠开始讨论各自平台的优秀,其他平台的弱势,都快到吵架的份上了。但是更有意思的是谈到架构、负载均衡、同步服务以及分布式计算的时候,大家都不说话了
很奇怪,现在的口水战是如此的激烈,就像CSDN上面,C++程序员在嘲笑JAVA的性能,JAVA程序员一边拿例程比较一边拿跨平台说事,反正大家都认为自己的开发语言要好一些,有点王婆卖瓜的味道了。
讨论这些的意义很重要吗?存在即合理,每个开发平台都有不同的优势不同的劣势,做开发应该站在架构的高度来讨论问题,你用什么语言并不重要,重要的如何能快速的构架,并能负载起海量访问。现在的大型网络平台的开发已经不仅仅局限于某种平台了,大家都是站在架构的高度来谈问题。很多时候,一个简单的留言模块可能就要花费半个月的时间做需求分析和架构。当大家都在讨论缓存和静态化的时候,您是否知道,在海量访问的2.0代,为了实现分布式缓存您可能要花费数百万!
现在各种开发平台都封装了太多的东西,老外喜欢php很大程度上是因为有个开源的MYSQL还有个免费的LINUX,开源节省很多的成本,国内选择微软平台的相应的多一些,是因为中国的盗版和微软有好的界面和更多的语言封装。做事情不能停留在人云亦云的分子上,真正自己测试后才知道,性能如何,在代码上,在程序员的水平上。
现在的站长被宠坏了,那么多开源的CMS,那么多开源的源代码,做网站已经没有多少技术含量了,复制和粘贴已经成为了家常便饭。很多的门户站也是用的开源的CMS。但是当你真正需要一个有更多互动功能的2.0程序并且希望它能支持更多访问的时候(资讯类网站除外),开源的和免费的东西也许不是我们要选择的。开源平台的开发者水平参差不齐,但是作为非技术性的站长们来说,我们只能从外观从界面上判断一个程序的优劣。真正做过单元测试的不多,真正测试过负载的也不多。
其实实现也不是很难,介绍两个工具:
A:MS Web Application Stress(WAS),微软的网站上有下载,可以模拟海量用户进行测试
B: PowerDesigner 这个是用来做数据库模型的工具,Sybase公司开发,但是有一个非常有用的功能就是可以为您的数据库填充海量数据。结合WAS可以能轻松的判断出来性能如何。
现在的WEB程序员基本上都被宠坏了,几行SQL语句就可以接管一个网站,几行代码就可以构架起一个介于牛A和牛C之间的网站,尽管,尽管看起来和那些大站的UI和用户友好度是那么的一致。曾经有人说,微软的Framework可以让一个小学生就能成为一个程序员,php可以让一个经过一个月培训的农民成为一个大师!实际上,我们在Select和Update的时候是否考虑过更多,功能上的实现是否就是我们所要求的,我们的系统我们的架构是否可以满足我们访问量的需求。在降低技术门槛的前提下,实现我们所要实现的负载才是最关键的。除非你非常了解控件的性能和原理,否则,真正开发的时候,对这些东西还是敬而远之吧。
很多东西已经写过了,不再写了,具体请参看我在ADMIN5的博客
写给WEB2.0的站长 不仅仅是泼冷水
说说web创业项目管理,你的团队做到了吗
修订版:(有几篇发布于《程序员》)
顺便AD一下,
支持集群和负载均衡的代码生成器:
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!