首页 » 技术与编程 » web应用应该考虑的一些问题 (技术 总结 记录 生活 工作)

2010年07月06日 | 源地址:http://hi.baidu.com/ywdblog/blog/item/c407e71f71679f07314e1550.html


今天是在公司的四周年,未来一段工作重心也将有所变化,从以前的开发逐渐要转变,希望能够适应,也能看淡,总之要更加专业化.

最近半年的工作经历比较有典型意义,成长不少.也做了很多事情,从技术层面上来说,主要有五点.

(1)静态化,静态化的目的主要是减低解析,元素离页面更近.

(2)接口Cache化,接口合并:目的建立对外部服务的优化,减少客户端的渲染.

(3)服务一致化:简单的说不管采用哪种技术(不管有没有缺点),那你所有的应用就往这上面靠,不要太凌乱.

通过博客v7版本的开发,很多服务被重新梳理了.

(4)DB的优化.

(5)多IDC部署:

为什么要做优化呢,对什么做优化呢.所谓优化就是在很短时间能够解决95%的问题,对于web应用来说,前端的改造是最能见效果的(异步加载,分屏加载).包括这上面说的静态化和Cache化,从典型意义上来说,目前做的优化已经不错了,发现了不少瓶颈,那接下来我们应该做什么呢,在这个思考过程中遇到了几个问题:

1:虽然也整理了系统架构文档,规划了应用架构文档,但还是发现是理论的多,实施方法和策略少,确实这是无法避免的,假如能够快速制定策略,那也显得太简单了.

2:虽然很多人(架构师)提倡分层开发,可我做了N长时间的开发,意识到分层不是那么轻易说出来的(建议那些架构师真正去写点php代码),目前最烦人的是凌乱的代码(可能是我们部门的悲哀),

3:每个人都有自己的理解和想法,尤其是领导的想法,如何平衡他的需求和自己的想法.执行力很重要,在技术层面不能过多抱怨,也不能过多解释.

4:无法知道整个系统,子系统的运行数据和状况,确实是个悲哀,没有数据和分析,谈何优化.

5:没有抽象能力,如何解决后续庞杂的需求.

6:没有规则,没有约束,如何要求别人.如何改进.

7:如何指定计划,如何解决遇到的问题,如何快速提升自己的能力(属于个人积累不够),如何真正坚持的执行.

8:如何合作:尤其是和外部门合作,如何让他们愉悦的为你工作(领导说:借助别人的脑子).

9:短期可实现的计划和长期计划:目前就是这么做的,当可能存在的一个问题,一直觉得有短期目标,可能会麻痹对长期目标的分析,这是最致命的.

下面从技术层面准备去做的:

1:大容量的存储方案,核心是DB,不管将DB作为存储还是关系用,其都是系统最核心的层次之一.很多人都说期望通过应用方案去解决数据库的问题,最近的一些想法是,不要过多讨论应用方案,从纯数据库解决方案上考虑有没有数据分布方案.另外非关系数据存储系统的使用也还是一个趋势,期待公司自行研发的存储系统.

2:数据缓存层

核心主要是Squid和数据Cache层,纠结的是这个层一定要独立和抽象,千万别结合什么数据库延迟去考虑,否则会很复杂,不过独立的cache系统构建谈何容易,不能使用太多的奇淫技巧.

另外对于页面缓存和数据缓存的使用场景也要分析清楚.

3:队列

队列最大的核心是提高伸缩性,尤其对于分布式的IDC使用,其作用不可小视.

5:核心子系统和技术

类似于nginx+memcached这样的高速接口,应该还是需要一点核心的技术.

6:分层的开发模式:

对于变化迅速的web应用,个人觉得这是最重要的.

7:自动化,智能化的分析系统(性能分析,业务分析,数据挖掘).

8:规则和规章制度,培养体系.激励体系

阅读全文


类别:默认分类 查看评论

赞,让更多人看到 (6) 收藏,回头自己还能看

Some Links

分享到人人网  |  分享到开心网  |  分享到新浪微博  |  推荐到豆瓣9点  |  推荐到 facebook



换一张 OR 登录