互联网解决方案咨询

梦想有多大路就会有多远:作一颗IT量子
  首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

身为WEB架构师的

Posted on 2009-06-05 16:28  互联网粒子  阅读(264)  评论(0编辑  收藏  举报

根据个人的工作经验,聊聊个人的观点.作为一个Web 2.0 网站架构师需要的一些基本的知识和能力,既然是个人看法,难免有失偏.我个人从事WEB2.0方面的工作其实也是很短,总结了下在工作中遇到的问题。

先谈谈作为一个WEB架构师的能力方面有什么样的需求:

系统的规划能力(能把撑整系统的整体框架,系统的逻辑分布,物理布署,可扩展性)

产品的策划能力(Web 2.0 本质上是以Web 作为平台的业务应用)

如果不真正了解你的业务,不了解用户的核心需求,不了解你目标客户的典型行为,是很难做好网站的。从这个角度来讲,一个Web 架构师首先必须是一个出色的产品经理。大多时候,我们只要做到业务技术领先就足够了,一味地追求技术的先进性反倒会深陷泥潭。越简单的越清晰,越能解决问题。

在技术和业务之间找到一个平衡,也就意味着必须明白整个业务核心的竞争力在哪?目标人群基本诉求在哪?然后选择最低成本的技术来实现业务需求,但是反过来,又必须适当地为业务发展保留适当的平台空间。 技术是因为业务的现实而存在.

良好的用户体验/设计更好的交互

不管是用什么技术来现实界面操作上的良好用户体验,最起码对于用户的形为习惯,用户的操作爱好,及良好的功能导航需要一个整体的归划。至于用什么技术来现实,那是在技术层面的问题了。

在技术实现层面,在系统的开发初期要做一个良好的规划, 比如,对于常见的用户提示信息,功能提示信息等,用AJAX来现实无刷新技术,这个技术对于程序员来说有很多种方式,但到底用哪一种呢?总需要有个规划,不能让程序员自己个人发挥,到头来所有的角本满天飞。不易控制,花在调试JS+CSS上的时间会比调试后台代码的时间多很多,如果有一个清晰的规划和规范,让程序员来执行实现,这样问题在后期会变的可控制性强很多。

必须要做到定义行之有效的规范和实现。

定义这些交互技术的目标是用最简单的方式实现最好的交互,这个也正是架构的职责所在。交互式处理框架(包括实现技术,和调用规范等)

合理的存储设计

web2.0最大的一个特点是用户的海量信息存储和交互信息的处理。对于存储必须有个良好的设计和扩展性规划,

数据的存储在用户并发操作时性能上的要求很明显,有可能会成为瓶劲,导致于整个网站的性能差,需要保证在存储上的扩展性,不然,以但瓶颈上来,用户数据无法拆分。。。。,但更重要的是不能过度设计,过度的设计会成为一个灾难。

在启动阶段,简单而直接的关系型数据库就可以了,你并不需要花费太多的精力去考虑,只要大致测算出一台服务器的容纳能力,然后估算出在到达容纳能力 上限的一半左右,你有多少的时间可以去折腾,如此而已,也真够了。简单地说,粗鲁一点,一台文件服务器,一台数据库服务器,只要别犯愚蠢错误,诸如文件只 有一个目录,完全不可拆分,如数据库只有一个表,耦合了太多逻辑等等,既然没有,那就放手去做。而在业务发展到一定规模,如已经有10 万用户,不考虑你的存储已经不可能了,此时我们会发现,诸多性能问题是因为不太合理的存储问题而导致,这个时候存储设计更多是应对性能而考虑的。而在发展 到更大规模,存储的可管理性和成本问题逐步成为关键。 对于架构师而言,不同时期选择不同的设计策略是尤为重要的。