最近谈得最多的话题莫过于大规模,大数据量,高性能,高并发等架构话题,其实一个电子商务网站开始时一定是小规模,小数据量,用不着把架构弄得过于复杂。高度设计、过度扩展(高德纳大爷也说过,"过早优化是万恶之源")是现在很多小型电子商务网站非常容易犯的毛病。开始服务器就一台,根本没有必要去关心系统扩展,数据库扩展,读写分离,负载均衡等,那些大型电子商务网站的架构经验根本不用照搬。
1 使用最熟悉技术
流行的技术不一定好用,使用开发人员最熟悉的技术才是上策,如果使用开发人员不熟悉的技术,边学边写,而且写的不好,等开发完毕蚊子都睡觉了。Java好,Python 牛,不一定要选择,如果你熟悉php就用php,如果熟悉asp就用asp。用什么都无关紧要,开发出来好的系统才是正道。
在开发前要做充分的考虑,综合评估下团队的开发能力,技术方向。还要考虑硬件和软件成本,数据库动不动就oracle,oracle固然好,但是使用成本还是比较高,小型网站大可以使用mysql等免费软件。可以使用比较便宜的服务器。
2 系统结构要清晰
虽然是小型网站,也应该花点时间来确定系统架构,架构不一定是复杂、大型网站才考虑的事情,小型网站也应该在架构方面下一定功夫。一定要做到层次清晰,业务分明。就算在一台服务器上面甚至在一个工程中要把业务和展示层严格分开。如果什么功能都集中在一起,到时候要增加功能、扩展业务将会无比痛苦。也可以考虑把不同的业务按照一定规则分开,有利于以后扩展其他业务。
严格分层开发,也将有利于未来系统壮大时能一步一实现分布式。现在很多网站是用php来开发,很普遍的现象是面向过程的写法,把一件事情从头到尾在一个程序中实现。其实php也好,asp也好,java也好,都可以严格把业务和前端分开,这样增加功能也好,维护也好也比较方便。
3 功能要做细
曾经有一次和一位业内非常有名的技术大拿聊天时,谈到一个电子商务网站开始时的想法。他刚好在创业初期。后来给了他一个建议是宁可功能少些,也要把放上网站的功能做细些,做完善,给用户好的体验。不要一味模仿大型网站,功能一大堆,然而每个功能不是缺腿就是少胳膊,要不就是模仿又模仿不好,最后不伦不类。不求多只求精。
在页面观感上面多下功夫,尽量给眼前一亮的感觉,爱美之心人人有,漂亮的网页总是能吸引人的。
4 在一定程度上使用缓存
显然现在大型网站都常用缓存,小型网站也可以考虑,毕竟能提高访问速度,提升用户体验,也在很大程度上减轻数据库压力。业界非常有名的memcached是不错的选择。可以把常用的列表,常用基本信息,特别是首页的展示信息尽量放到缓存中,从而提高首页的访问速度,给用户一个非常好的初步印象。
5 做适当的分析
分析可以包括日志分析,性能分析,用户分析,应用软件分析,数据库分析等。定期对日志进行分析,分析系统的bug和存在隐患。对性能分析能为日后优化扩展提供有利的帮助。做适当的用户分析能为网站业务决策提供一定帮助。做应用软件分析,能为日后选择那些软件提供充分的准备。
6 进化
最后引用Qcon2009大会资料的几句话:
l 进化原理- 寻找最适合的
l 退化原理- 简化不必要的
l 好的架构是实践出来的
联系客服