网站建设

网站建设的可持续发展 (2)

所谓网站的可持续发展,可以理解为网站的可扩展性,也就是说网站是否易于升级、移植等。网站的可持续发展包括(各种)性能优化,但不仅仅包括性能优化。如果单单考虑性能优化,已经有很多很多的书籍在讨论各种web技术的性能优化、性能提升,包括程序语言(例如PHP)的优化、web服务器(例如Apache)的优化、数据库(例如MySQL)的优化等等。

本文主要讨论的不是具体性能优化技术,而主要讨论可持续发展(可扩展)的网站架构设计。

关于网站可持续发展的讨论并不太多。到目前为止,在Amazon网站上,大体上看起来也只有有限的几本书关注这一话题(目前我只看到两本)。

Theo Schlossnagle历时2年有余,终于在今年5月11日左右写完了《Scalable Internet Architectures》(可扩展网站架构)这本书。这本书早已在Amazon网站列出,但要到下个月24日才会由Sams出版社出版,所以我们目前还无法知道作者精心打造的这本书的可读性究竟如何。

Cal Henderson来自英国伦敦,是Flickr网站的主要开发人员(之一)。在上个月,他通过O'Reilly出版社出版了一本书:《Building Scalable Web Sites : Building, Scaling, and Optimizing the Next Generation of Web Applications》(搭建可扩展网站:搭建、扩展、优化下一代网站应用)。

Flickr网站的建设过程涵盖了一个正规化、国际化、大中型网站建设的方方面面,也是最近两年人们热炒的“web 2.0”类型的典范网站。虽然我也曾说过“web2.0关程序员什么事?”,但相对于4、5年前的“web 1.0”时代的web技术,“web 2.0”时代所面对的技术环境、建站思路和“web 1.0”时代的确是有一些明显变化的。因此,如果依然沿袭几年前的建站经验,势必有逐渐落伍的趋势。就此看来,Cal所写的这本书实际上可以看成一个典型的、与时俱进的web网站开发过程中心得体会的总结,有相当的借鉴价值。

我大体翻了翻Cal写的这本书。

这本书共分11章。前三章“介绍”、“web应用架构”和“开发环境”没有太多需要在这里特别介绍的。

第四章讨论“国际化、本地化和unicode编码”(i18n, L10n, and Unicode)。这是一个非常好的话题。我曾在《网志系统Serendipity评测 (2)》一文中提到“最近2年,在网页编码中,UTF-8被越来越广泛地使用”,“使用UTF-8将会比使用GB2312有明显优势”,但我从未展开讨论过UTF-8技术。这一章对“UTF-8”的应用做了相当详细的介绍。可惜这本书是英语作者写的,如果是东亚人写的话,可能能把相关技术细节写得更明确、更详细,例如对多字节字符的具体支持等。当然,这只是一个锦上添花的想法。

第五章讨论“数据完整性保持和数据安全”。这一章对数据校验、数据完整性保持方面写得比较具体,但依然不够丰满。对于任何一套(web)应用而言,非常重要的一点就是:数据。因此对于数据的处理、数据的可移植性等好些地方还有可以进一步细化、研究、注意的地方。在这些方面,Cal并没有细谈,有点遗憾。

第六章讨论“email”。这一章我没有详细翻,我也觉得这一章对我而言并不是特别重要。

第七章讲述“远程服务”。这一章可以和第11章“APIs”结合起来读一读,做相关开发的时候(例如web service开发)值得翻翻。

第八章讲述“瓶颈问题”,第九章讲述“扩展web应用”,第十章讲述“统计、监控和提醒”。有读者在amazon评价说这三章写得非常好,值得一读。

总体而言,Cal写的这本书也许还有可以再补充的地方,但其相关论述已比较全面,值得一读。当然,我们也可以期待以后去读读本文一开始提到的Theo写的那本尚未面世的书。

至少,这两本书填补了web开发书籍中的某些空白。

[补充说明1] 本文前三段对“网站的可持续发展”具体含义的描述不是很清晰。

[补充说明2] 今晚翻了翻文中提到的那本《Scalable Internet Architectures》,觉得写得相当不错。其涵盖了某些非常有意思的话题,例如页面静态化、缓存、分布式数据库、日志、在线统计等,只是某些地方没有作进一步的深入介绍和分析。这是一本相当值得一读的书籍。2006-09-15 20:47:41。

类别: