《架构师》特刊:微服务与DevOps技术内参
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

简单架构的设计之美

《营造法式》为中国古建筑的结构设计、工程管理奠定了基础,灿若星辰的中国古典园林体现了建筑执着于简单的美学理念,砖、瓦、琉璃与建筑构件,以最简化的分解让没有生命的木方泥胎诞生了横亘古今的美感。软件体系的“营造法式”却仍旧“立而望之,偏何姗姗其来迟。”。

出于项目实施时间、投入资源等方面的限制,大型软件往往以实现若干个具体的用户功能需求为目标。日复一日,随着用户功能要求的变化,软件变得面目全非。任何系统,在自然情况下,都是从有序到无序,但生物可以通过和外界交互,主动进行新陈代谢,继续生存。软件系统随着功能越来越多,调用量急剧增长,整个系统逐渐碎片化,越来越无序,最终无法维护与扩展,人们没有时间,也没有精力去追求软件的美学目标。所以系统在一段时间后必须即时干预,避免野蛮生长。然而大型软件项目已成为大量代码的随机而无序的堆积。工程师一旦完成项目,就恐避之不及,不愿再去碰自己几个月来夜以继日的劳动成果。

架构的本质就是让系统开发、维护变得有序,而好的架构一定是高度抽象的、易于理解的、合理定位的、整合有机的、面向未来的。微服务架构模式将大型的、复杂的、长期运行的应用程序构建为一组相互配合的服务,每个服务都可以很容易得到局部改良。让软件折射出简单架构的设计之美。