标签 感悟 下的文章

曙光

近一两年来我在博客少有提及公司项目的事情,除了一些技术bug引起我对问题的思考。这样一是为了“避嫌”,公司年初发生了多次因员工在个人博客泄露源代码或者客户资料的事件,公司管理层也加强了对公司“信息安全”的管理,无非是学习华为那一套-“封锁”:使用websense限制员工上外网,使用桌面监控系统监控员工电脑系统,封掉一切可能泄露机密信息的接口。还特地发挥了一下“数字课件”部门兄弟们的聪明才智,搞了一个在线信息安全课件,规定员工都要完成课件学习,并在学习完进行在线测试。说实话,这个课件做的真的不错,只是大家对这种学习丝毫不感兴趣,一切为了应付。二呢还是为了“避嫌”,记得去年年末的一篇文章就引起了一个小风波,结果换来了与“顶头上司”的一次“对话”。作为老员工你的所说说写,直接影响了周围的人,虽然我的博客访问量不大^_^。

而今天我要说说身边的事,说说项目上的事。

在一个项目(或者叫产品也不为过)上持续做了整整三年,说长不长,说短也真的不短了。三年间见证了系统从杂乱变为有序和规范的历程,也见证了自己逐渐成长和成熟的过程。而整个系统的架构也在经历着不断的演进。去年年末我们策划并对系统进行了有史(历史<=3年)以来最大的一次架构调整,今年下旬实现了部分调增的新架构系统上线。但我们心里知道架构演进还远没有达到我们期望的结果,演进还没有接近终点。对于一个中等规模的后台服务系统而言,高性能、大容量以及良好的稳定性和良扩展性一直是终极目标,达到这个目标谈何容易。

记得04年入司时,部门的一个核心产品A正在做革新性的架构调整,听更资历老一些的同事说:A产品在2000年诞生后在线运行了4年,问题也伴随了四年,随着客户业务量的增长,亟需对A的架构进行调整,部门也决定投入大量人力在这个拳头产品上。就这样新架构迭代式的做了近三年,人也换了一批又一批,终于在07年A产品上线了。A产品的架构演进走的是从无到有的革新路线,即整个产品基本都是重写的。这样的路线风险较大,新代码较多,测试过程中发现的缺陷势必也较多,为了保证产品研发人员能专心于研发,且保证现有产品维护能及时,部门还另分出一组人单独做既有产品维护。A的新架构上线后,也出了较多问题,但是架构本身经受住了考验,但是随着系统的运行,也发现了架构的一些弊端。

我所从事开发的产品B应该与A算是姊妹产品,第一版的B产品的一个子系统B-1就是从A未进行架构调整之前的系统修改过来的,也就是说B-1等价于A产品前身。与A产品不同的是,B产品增加了另一个核心系统B-2。这里用图示更直观。

A产品    A前身      — 演化 —> 新架构A
B产品:   B-1        — 演化 —> 新架构B1
            B-2        — 演化 —> ?

B产品初期,我一直投入在B-2上,完成了B-2初始版本的开发以及后期一年半的演化。在将B-2当前架构演化到一个高度后,我退了出来,开始负责B-1的研发。现在回头看来B-2最大的架构有点就是简单清晰,但是由于前期的经验不足,在内部代码结构上留下了比较恶劣的smell,后来人也“效仿”了我的风格,以致现在我再看B-2代码,只能用“惨不忍睹”来形容了,Dreamheadfanfou中曾经提到过“给予程序员最佳的惩罚便是让他维护自己一年前编写的代码”。当然这都是我的错误,与后人无干。可惜的是我现在没有精力再去精化B-2的结构了。

前面说到B-1就是A产品前身,同样与A前身遭遇问题相同,B-1在处理能力上遇到了瓶颈。B-1的架构进化也就从此开始了。由于有了A产品架构演化的经验与教训,B-1采用了与A不同的架构路线,这期间A产品开发负责人给了我们莫大的帮助,提供了我们所缺少的经验和教训,可以说我们的架构演化是站在“前人的肩膀上的”。而且与A架构调整的轰轰烈烈不同的是,我们B-1后台的核心开发人员一直就保持在三人左右,再带着两三个新员工。人力虽少,但是效率却不差,小步快跑,达到相同目的。我们在去年年末架构演化方案确定后,制定了阶段发布计划,架构调整分阶段进行。一个阶段release后,deliver给客户,上线运行调整,虽说每个版本都不完美,有缺憾,有局限,但是风险也降到了最低,这种平滑过度对客户体验的影响也最小。更重要的是阶段性的deliver,加快了反馈的频率,使我们开始对前期架构演化的优缺点的了解也更多了。架构演化计划也随之调整。但随着对架构理解的深入,我们遭遇到了处理能力和扩展性上遇到了“天花板”,不得不暂停下来反思和讨论。

曙光就在昨天的那次反思和讨论中得以重现,在这之前我们的眼光一直停留在B-1架构蓝图的内部,无论我们如何调整都无法让大家满意,始终觉得“别扭”。这时A产品负责人的一个观点,让我们茅舍顿开。一个虚拟域或组的概念将蓝图组合、叠加和交叉,一副更大的图景展现在我们面前,而这幅图似乎让我们看到了架构演化的终极目标,以至于我昨晚连夜画出了一副架构草图。

这篇文章用“曙光”作为题目也许只有我自己才能体会到其深意吧。

游永祚寺和迎泽公园

今天是周日,本打算在酒店休息一天,并把下周要进行的工作好好计划一下的。但是同事在耳边不断"扇风"让我也动了心。毕竟太原市内还有双塔寺和迎泽公园没有去逛呢,下周就要回沈阳了,估计没机会出去玩了。午饭后,我们出发了。

双塔寺是人们的俗称,其真正的名字是"永祚寺"。在火车站广场做812或820花费1.5元都可以直达。目前是淡季,绝对的淡季,到永祚寺游览的游客屈指可数啊。寺院不大,如果走马观花的话,30分钟足矣。虽说景点不大,但是收费却不甚便宜,20元让我觉得不是十分值得。寺内只有一个收费的工作人员,没有其他僧人或道士。和其他的寺院一样,这里供奉着诸多佛和菩萨,对于信仰虔诚的人来说也许值得拜拜。寺院内本来种的满是牡丹的,但现在不是牡丹开花的季节,我们只能看满眼绿叶了。双塔不让游人攀爬,只能在外部拍拍照做个留念,另外双塔上的风铃在微风中发出的声音还是蛮悦耳的,以下是一些片供欣赏:


永祚寺正门


大雄殿、客堂和禅堂


满园明代牡丹


永祚寺碑廊


永祚寺双塔之文峰塔


永祚寺双塔之宣文塔


永祚寺之双塔


双塔上的风铃

出了永祚寺,坐车回到火车站,在迎泽大街上倒车到青年路口下车,对面就是迎泽公园,公园是对外免费开放的,最大的感觉是和沈阳的南湖公园差不多。但是估计是最近翻修了,感觉挺新的。园里人很多,年轻人都是一对一对的、老年人围坐在石桌上打牌,门口还有一处歇息处有一群人在唱山西本地的戏曲,我们也听不懂。沿着迎泽湖转了一圈后我们就出来了,如果您带着小孩来旅游的话,还是可以多玩玩多看看的。


迎泽公园

昨天说过迎泽大街上的公共设施很具艺术性,这里也拍下一些:

太原迎泽大街上的公共设施

今天游览以公交车为主,总体感觉太原老百姓生活负担有些重,公交车很大一部分车费都是1.5元,1元的有,不是很多。我猜想也许是太原财政补贴少的缘故吧。如果这么说,北京老百姓最幸福了,乘一次才0.4元。

如发现本站页面被黑,比如:挂载广告、挖矿等恶意代码,请朋友们及时联系我。十分感谢! Go语言第一课 Go语言精进之路1 Go语言精进之路2 Go语言编程指南
商务合作请联系bigwhite.cn AT aliyun.com

欢迎使用邮件订阅我的博客

输入邮箱订阅本站,只要有新文章发布,就会第一时间发送邮件通知你哦!

这里是 Tony Bai的个人Blog,欢迎访问、订阅和留言! 订阅Feed请点击上面图片

如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠 ,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!

如果您希望通过微信捐赠,请用微信客户端扫描下方赞赏码:

如果您希望通过比特币或以太币捐赠,可以扫描下方二维码:

比特币:

以太币:

如果您喜欢通过微信浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
选择Digital Ocean VPS主机,即可获得10美元现金充值,可 免费使用两个月哟! 著名主机提供商Linode 10$优惠码:linode10,在 这里注册即可免费获 得。阿里云推荐码: 1WFZ0V立享9折!


View Tony Bai's profile on LinkedIn
DigitalOcean Referral Badge

文章

评论

  • 正在加载...

分类

标签

归档



View My Stats