很有幸遇上周老师第八部计算机技术书籍——《凤凰架构》一书的出版。
恰逢自己也在往架构的方向走,而前一段时间在经历了系统架构不良带来的巨大痛苦后,对系统架构的认识更加的深刻了,特别是在AI领域,目前并没有比较通用的架构,目前已有的架构也更多的是居于具体业务的实现。当遇到周老师的《凤凰架构》一书时,也引起了自己颇多的思考。
如周老师书中所描述:在软件工程里,任何产品的研发,只要时间尺度足够长,人就总会疏忽犯错,代码就总会携有缺陷,电脑就总会宕机崩溃,网络就总会堵塞中断。为了得到高质量的软件产品,我们是应该把精力更多地集中在提升其中每一个人员、过程、产出物的能力和质量上,还是该把更多精力放在整体流程和架构上?
周老师从架构的演进方向上逐步引出凤凰架构一说。面对当前不断变得复杂的应用,大家应用的架构也在不断的升级中,技术架构上呈现出“从大到小”的发展趋势,架构扮演的角色也逐步从大的臃肿往小而精美方向走。但业务复杂度依然存在的情形下,怎么做到小而精美,据此有了如远程服务、事物处理、分流系统、架构安全性、分布式、流量治理、可靠通讯等通用的专业的小模块的出现。
在应用中要重视架构,但不能仅仅依赖于架构,因为架构并不是被发明出来的,而是持续演进的结果,是随着需求的不断变化而持续演进的,架构总是要为需求服务的,能满足需求的架构才是好的架构。正如该书中也有提及,《没有银弹:软件工程的本质性与附属性工作》和《人月神话:软件项目管理之道》里都反复强调着一个观点:软件研发中任何一项技术、方法、架构都不可能是银弹。
面对巨大的软件市场,对于架构的探索与探讨永远都是不过时的。
在应用的不断复杂化下,我们当前所已知的架构还远远不能满足当前的需求,我们还需要有更多的如《凤凰架构》一样精彩的架构书籍的出现,当然,在那之前,或许先阅读一番《凤凰架构》一书可能会是一个不错的选择。