转享技术架构两三语

这篇文章貌似是JavaEye里网名QieQie的文章,他是分词器paoding的作者,是人人网的架构师,也是Rose web框架的架构师,文中观点很给力和到位,所以转到这里,呵呵,以便以后翻阅。

 

原文地址 http://ugc.renren.com/2009/12/20/technical-architecture/

 

多角度定义架构

定义架构的最短形式是:“架构是一种结构”,太棒了,这是一种正确的理解,但世界还没太平。若做一个比喻,架构就像一个操作系统,不同的角度有不同的理解,不同的关切者有各自的着重点,多视点的不同理解都是架构需要的,也只有通过多视点来考察才能演化出一个有效的架构。

从静态的角度,架构要回答一个系统在技术上如何组织;从变化的角度,架构要回答如何支持系统不断产生的新功能、新变化以及适时的重构;从服务质量的角度,架构要平衡各种和用户体验有关的指标;从运维的角度,架构要回答如何充分利用计算机或网络资源及其扩展策略;从经济的角度,架构要回答如何在可行的基础上降低实现成本等等。

没有架构策略的系统,让我诅咒它散掉: 人们不知道如何简单一致地理解,不知道如何加入一个新功能,如何调高或调低某个服务质量指标,如何应付增大的访问,如何提高系统的容错能力或稳定性,如何充分省钱。没有良好架构支持的系统,出来混的迟早要还!我们诅咒他散掉。

 

如何得到一个良好的架构?
只言片语

像妈妈那样优生

架构所要做的是一个“细节还未完全落实的技术决策,这个决策是一个框架、是一种权衡、是一个路线图”,这个决策规定了整个系统的技术“风格”和后续技术发展方向。

系统的开发是一个从无到有的过程,需要不断地迭代:功能上不断地丰富,技术上不断地完善。如果把一个系统比喻一个人,怎么让这个人不断地往健康、完备的方向成长就是我们的目的了。一开始,这个人并不完善,包括很多器官并不成熟,甚至没有,通过营养的摄入,时间的沉淀,不断地重构最终成功。人也需要重构?!不是吗?血液的60天一变换,牙齿的两次生长等等(注1),有一个专业术语“新陈代谢”! 当一个人新陈代谢的能力下降的时候,也就是老了。

在系统从无到有的过程,架构要着眼于未来,落实于现在,规划迭代、优化的路径。这个架构要支持目前最紧迫的任务:“生出来”,也要支持以后能不断地新陈代谢的可能性,两者缺一不可。

 

像理想那样追求

系统的每个阶段都很重要,一个好的起点并不意味着一直会好下去,制定了各种策略后,贯彻、执行是最重要的课题。没有人一开始就想把一件事情做糟糕,但这个世界就是这样,很多事情都会变坏,越来越不可控。导致如此境地的主观原因就是自己没有设法去维护、坚持、贯彻原先的理想。作为一个程序员或架构员,要不断审视自己开发的系统,主动维护系统的架构,如若发现有对架构产生破坏的地方,应该适时纠正,坚持零容忍。如果不零容忍会怎样?千里之堤溃于蚁穴,我们诅咒他散掉。

 

谁来做架构?

架构师这样的一个帽子,很多人会闪闪躲躲。

国外多少年的工作经验才可能成就一个架构师,而国内3、5年工作经验的小毛头就说自己是个架构师了。通常认为,架构师理应无所不能,一旦有人被称为架构师,他就应该接受重重的检验。总之,那些自称是架构师的人在冒着道德风险。但,同学们不要胆却,所谓时势造英雄。有人称你是一个英雄,那是因为你被需要,要勇敢地站出来,扮演好自己的角色是对岗位的敬畏。当我把你看成是一位架构师的时候,我需要你不断地给自己暗示,不断地以理想的架构师来要求自己,和同学们在工作中学习,一项一项地突破自己,把工作做好。

一个组织可能会明确地任命一些人为架构师,但大部分的组织可能不会。但在一个项目团队中总有需要有人完成类似的工作,这可能是一个人,也可能是整个团队在商量的气氛中完成。

我的意见是:如果你愿意,你就是架构师!

 

架构模式

当一个问题、一个系统可以采用很多解决方式来设计时,我们采用什么方式并且以一致的思想、方式解决这个问题时,这就是风格了,当这种风格具有可复用性那就是一种模式了。在编程上,我们有“设计模式”的指导,在架构上,我们也应该总结一些良好的模式出来,应用在不同的情况。关于这方面的资料,目前并不难找。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值