因为不确定,所以面临着选择,因为有了选择,所以有了妥协,因为有了妥协,也就有了痛苦。是以,仓央嘉措追问,也是芸芸众生的追问:“世间安得两全法,不负如来不负卿。”
今年早些时候写了一篇《世间安得两全法,不负如来不负卿》科普文,在这篇科普文里,我写到了由于电池会经历电能到化学能转换的过程,目前无法实现极速充电,电容虽然可以极速充电,但是能量密度又太低的问题,所以不得不妥协,出了一个中间态的产品——混动车型。所以,没有一项技术是完美的解决方案,都是顾了这头丢了那头。
架构师的存在,正是因为这个世界上没有完美的技术方案。当程序性能走到岔路口,需要做出选择时,架构师必须痛苦地权衡,舍弃某些东西,才能继续前行。了解分布式系统的朋友,一定对CAP定理不陌生。CAP定理指出,在分布式系统中,一致性、可用性和分区容错性这三项特性,最多只能同时满足两项,无法三者兼得。这无疑让人倍感无奈。
如果你是个完美主义者,那么很遗憾,你可能无法胜任架构师的工作。因为在这个过程中,你会痛苦地发现,无论你如何努力,都无法摆脱妥协的枷锁。所以,如果你是个完美主义者,我建议你投身数学领域,在那里,你可以尽情追求完美,享受完美的乐趣。
要成为架构师同样不易,我还在这条路上努力。以前总是低头写业务,偶尔停下脚步看看技术博客,始终觉得没有打通任督二脉,缺少一个导师在前行的路上指引着我。每当我困惑,彷徨之际,我总是习惯读书,读书能够让我找到灵魂的出口。
前段时间,我读了《凤凰架构》这本书,真是有种相见恨晚的感觉。我非常喜欢作者的写作风格,他总能把问题放到历史背景中去分析,让我带着问题去看架构的演进和技术方案的发展,从而更容易理解。读一本好书,就像有一位良师在旁,它让我明白各个技术点如何协同配合,将所需的知识点串联起来,构建出完整的技术体系。与看技术博客时那种孤立无援的感觉截然不同,读书让我感受到了知识的连贯性和系统性。
这本书共分为五个部分:第一部分讲述演进中的架构,让我们明白,虽然我们无法亲历所有事情,但如果不带着问题去看现有架构,就很难真正理解其精髓;第二部分从架构师的视角出发,探讨在架构设计时应该思考哪些问题,以及各种主流和行业标准解决方案的优缺点和不同影响;第三部分则聚焦于分布式系统的基石问题,如服务注册发现、跟踪治理、负载均衡等;第四部分主要面向运维和技术平台开发人员,探讨不可变基础设施的重要性;第五部分则主要面向决策者,讨论技术方法论。
这真是一本技术类中的佳作,让人受益匪浅。