阅读《架构之美》笔记02
在了解作者之后再说这本书。
去架构设计一个系统的时候,首先考虑的不是这个系统有多少个功能点,而应该是:
1.运行在windows还是linux上,选择的是tomcat还是jetty
2.你想支持的多少并发用户的请求
3.是构建于内网还是外部易可访问,需要怎么样的安全性要求
4.是吞吐量优先还是要求高响应性
等等方面。
架构是设计的一部分,它突出某些细节,并通过抽象忽略掉另一些细节,架构是设计的子集。它是最高层面的抽象和分解,关注组件的划分及各个组件之间的关系及暴露给外部的属性。
平衡:
这个是两个角度的平衡,一个是高层次的平衡,平衡以下角色的需求
投资人:能够在给定的资源下完成项目
项目经理:组织计划、指定迭代计划
市场人员:需要有同竞争者差异化的品质
用户,包含系统管理员:安装、部署、准备、配置人员
以上不同人员有不同的需求,架构需要在以上做一个平衡。另一个是设计层面的平衡,平衡技术选型,在响应性及吞吐量之间的选择。
架构师的第一任务是于以上的利益相关人协作,理解他们的关注点和约束,并给出优先级!为什么不从功能入手的原因是,因为有很多种可能的系统分解方式,例如用数据模型开始得到一种架构,从业务处理模型得到另一种架构。
架构中还需要关注的一点是保证架构概念完整性,系统中反映的是一组设计思想,而不是许多中独立而不协调的设计思想,这个在《设计原本》也被反复提到!概要完整性延伸的就是处理问题的一致性。