在大型网站架构发展过程中经常会出现以下几个误区。
一、一味追随大公司(较成熟互联网公司)的解决方案
由于大公司巨大成功的光环效应,再加上从大公司挖来的技术高手(活宝)的影响,网站在讨论决策时,最具说服力的一句话就是“天猫就是这么搞的”或者“腾讯就是这么搞的”。
大公司的经验和成功模式固然重要,值得学习借鉴,但如果因此而变得盲从,就失去了坚持自我的勇气,在架构演化的路上迟早会迷路。
二、为了技术而技术
技术是为业务而存在的,除此之外毫无意义。在技术选型和架构设计中,脱离业务发展的实际,一味追求时髦的新技术,很可能会将技术发展引入崎岖小道,架构之路越走越难;甚至致使产品流产。
三、企图用技术解决所有问题
最典型的例子就是2012年初12306故障事件后,软件开发技术界的反应。
各路专业和非专业人士纷纷帮12306技术架构出谋划策,甚至有人提议帮12306写一个开源的网站,解决大规模并发访问的问题。
12306真正的问题其实不是他的技术架构,而是他的业务架构。12306根本就不应该在几亿人一票难求时依窗口售票模式在网上售票(零点开始出售若干天后的车票)。12306需要重构的不仅是它的技术架构,更重要的是它的业务架构:调整业务需求,换一种方式卖票,而不要去搞促销秒杀这种噱头式的游戏。
后来证明12306确实是朝这个方向发展的:在售票方式上引入了排队机制、整点售票调整为分时段售票。其实如果能控制住并发访问的量,避免喜马拉雅式高峰值,转为波浪式;技术和业务等多方面着手很多棘手的问题难关都可以顺利攻破。
四、避免过度设计
在中小型公司,尤其是创业公司都需要低成本试错;若设计一款产品、架构过于考虑3、5年后的扩展是没有必要的;当今技术发展这么快,几乎不到2年就有一个迭代,到时你的设计很可能过时,或因业务变更导致架构变更或产品流产。一般考虑到半年至一年就可以了。