对于网站的理解,不同层次的人有不同的理解。一个网站可以简单地只有几个静态页面,花上一两个小时的时间就可以做好;但是也可能设计地非常精巧,能够承受亿万级的访问量,这样的网站设计起来就很复杂,而且会耗掉大量的人力物力。简单的网站提供的功能是有限的,作用也很小;但是对于大型的网站,就非常地有用,可以提供丰富多彩的功能,比如Google、百度、淘宝、新浪、搜狐等这些网站。
所有的网站开发人员都希望能够设计出性能稳定、负载能力大的网站,而一个对于web系统:最大的瓶颈是数据库;展现效率的决定性因素是前端调用和架构;系统健壮性的决定性因素是总体架构。
1、Web系统最大瓶颈是数据库
无论是使用哪类数据库管理软件(DB2、SQL Server、Oracle),数据库瓶颈是让网站开发者最为头痛的,每一次数据库连接操作都会消耗极大的系统资源(CPU资源、磁盘IO资源等),如果并发达到百万级,没有合理的数据库访问策略,那么网站肯定马上就瘫痪。解决这一问题,主要靠缓存机制,而在数据库缓存里最好用的莫过于Memcached(非常高效的分布式数据库缓存工具),有了Memcached,那么就可以大量地减少数据库链接数,而且可以进行分布式,极大了减小了数据库的压力,而且可以随时增加服务器扩充数据库负载能力。当然Memcached并非绝对灵丹妙药,必须在网站架构和程序代码上下功夫,比如数据库读写分离、缓存更新机制等。Memcached是针对Linux操作系统的,在Windows下也可以用,但并不一定能够达到很好的效果,幸运的是微软现在也自己开发了一套类似的东西:Velocity。
2、展现效率的决定性因素是前端调用和架构
如果你认真去分析淘宝网的页面代码,你就会发现这句话一点都没有错,当服务器响应快速了之后,如何能够展现地更快,就是前端优化,淘宝的前端开发工程师曾说过:页面响应80%时间来自js、css和html代码,由此可见前端的重要性。对于css和div,在兼容浏览器的前提下,最好能够尽量向web标准靠拢,对于js,我建议是使用稳定的js框架,个人喜欢JQuery。
3、系统健壮性的决定性因素是总体架构
网站的总体架构相当于一个人的骨架,没有好的架构不用提稳定性了。一个好的网站架构应该满足:三层(表现、逻辑、数据访问)分离、代码规范、可扩充,如果是大型网站,还要是分布式的、数据库读写分离。
内容纲要