摘要:
软件系统复杂度的第一个来源高可用 计算机,从电子管计算机到晶体管计算机再到集成电路计算机,运算性能从每秒几次提升到每秒几亿次。但伴随性能越来越高,相应的方法和系统复杂度也是越来越高。现代的计算机 CPU 集成了几亿颗晶体管,逻辑复杂度和制造复杂度相比最初的晶体管计算机,根本不可同日而语。 软件系统中 阅读全文
摘要:
架构是为了应对软件系统复杂度而提出的一个解决方案。架构即(重要)决策,是在一个有约束的盒子里去求解或接近最合适的解。这个有约束的盒子是团队经验、成本、资源、进度、业务所处阶段等所编织、掺杂在一起的综合体(人,财,物,时间,事情等)。架构无优劣,但是存在恰当的架构用在合适的软件系统中,而这些就是决策的 阅读全文
摘要:
每个程序员心中都有一个成为架构师的梦想,梦想是美好的,但道路是曲折的。原本以为学习架构设计就像学习一门编程语言一样,先学习一下基本的语法,再研究一下细节和原理,然后实践一下就能够快速掌握。但真正实践后才发现,架构设计的难度和复杂度要高很多。 架构设计的历史背景 机器语言(1940 年之前) 最早的软 阅读全文
摘要:
大道至简,架构是宏观整体,框架是微观组成。架构是顶层设计,框架是具体实现。 一 、架构设计的历史背景 二、 架构设计的目标(解决软件系统复杂度带来的问题) 2.1、软件系统复杂度问题来源 高性能 2.2、软件系统复杂度问题来源 高可用 2.3、软件系统复杂度问题来源 可扩展性 2.4、软件系统复杂度 阅读全文