分布式系统架构:架构策略与难题求解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 何为“难点”

本书的英文书名为Software Architecture: The Hard Parts。事实上,书名中的hard有两重含义。首先,它使人想到困难,架构师持续面对前所未有的困难问题,这涉及许多具有长期影响的技术决策,这些决策必须考虑人际关系和政治环境。

其次,hard也让人想到坚硬——正如有硬件和软件之分。硬的东西理应有更少的变化,因为它要作为软的东西的基石。类似地,架构师谈论架构和设计的区别,前者是结构上的,而后者更容易改变。因此在本书中,我们讨论的是架构的基础部分。

软件架构定义本身就已经让参与者贡献了数小时毫无成效的对话。我们最喜欢的一个定义甚至有点讽刺意味——“软件架构就是以后不好改的那些东西”。而本书就是关于“那些东西”的。