面向用户的后台系统及平台系统研发
主要挑战:高性能、高并发、高可用、强扩展
架构用来解决软件复杂度带来的问题
软件复杂度又可以分为业务复杂度、技术复杂度、管理复杂度
业务复杂度顾名思义就是业务逻辑的复杂度
技术复杂度指的是业务扩大之后带来的高并发、高可用、高性能、可扩展、一致性、成本安全等方面的一些挑战
管理复杂度:大型项目的管理
架构对象:现实世界在架构师大脑⾥的投影与映射,现实世界是客观的,对象是主观的。
架构意图:架构师对于系统的主观设计判断,体现在系统的脉络(内在动律,整体方向),系统的组织(内含,边界),系统组织元素间的关系上。
架构视⻆:从⼀个或多个⻆度对软件体系架构的各个⽅面进⾏关注,它反映了了软件架构的⼀个或多个利益相关者的不同关注层面。
架构视图:架构对象(物)+架构意图(⼈)+架构视⻆(⻆度)决定架构视图。
架构可以分为业务架构、应用架构、数据架构及技术架构
高并发:如何运用设计手段让系统能够处理大量的用户并发请求,承担更大的流量,是后台架构设计的背景和前提。
高性能:如何快速地处理请求、如何用有限的资源应对更多的请求,是实现高并发系统设计必须考虑的因素之一。
高可用:即使在极端条件下,强调系统的可用性,是实现高并发系统设计必须考虑的因素之一。