1、架构体现在组件中的一个系统的基本组织、彼此的关系和环境的关系及指导它的设计和发展的原则
2、系统是组织起来完成某一特定功能或一组功能的组件集
3、环境或者上下文决定了对这个系统的开发、运作、政策以及会对系统造成其他影响的环境和设置
4、任务是由一个或多个利益相关者通过系统达到一些目标的一个用途或操作
1、解决相对复杂的需求分析问题
2、解决非功能属性在系统占据重要位置的设计问题
3、解决生命周期长、扩展性需求高的系统整体结构问题
4、解决系统基于组件需要的集成问题
5、解决业务流程再造难的问题
1、分层架构(Layered Architecture):最常见的软件架构、事实上的标准架构,最常见分层:表现层(Presentation Layer)、业务层(Business Layer)、持久层(Persistence Layer)、数据库(Database Layer)
2、事件驱动架构:通过事件进行通信的软件架构,分成4个部分:事件队列,分发器、事件通道、事件处理器
3、微核架构:又称为插件架构,指软件的内核相对较小,主要功能和业务逻辑都通过插件实现
4、微服务架构:是服务导向架构,每个服务是一个独立的部署单元,这些单元都是分布式的,互相解耦,通过远程通行协议联系,分成三种模式:RESTful API模式、RESTful 应用模式、集中消息模式
5、云架构:主要解决扩展性和并发的问题,最容易扩展的架构,分成两部分:处理单元、虚拟中间件
根据建模侧重点不同,可以讲软件架构模型分成:结构模型、框架模型、动态模型、过程模型
1、掌握业务领域的知识
2、掌握技术知识
3、掌握设计技能
4、具备编程技能
5、具备沟通能力
6、具备决策能力
7、知道组织策略
8、应是谈判专家
1、战略规划能力
2、业务流程建模能力
3、信息数据架构能力
4、技术架构设计和实现能力
5、应用系统架构的解决和实现能力
6、基础IT知识及基础设施、资源调配的能力
7、信息安全技术支持与管理保障能力
8、IT审计、治理与基本需求的分析和获取能力
9、面向软件系统可靠性与系统生命周期的质量保障服务能力
10、对新技术与新概念的理解、掌握和分析能力
1、作为一名技术领导者
2、作为开发人员
3、作为系统综合者
4、具备企业级思维
5、具备战略技术专家的权衡思维与战术思维
6、具备良好的沟通能力
总结自:系统架构设计师教程(第2版)
作者其他要推荐的文章,欢迎来学习: 基于Spring Boot 3.1.0 系列文章
Prometheus 系列文章
Grafana 系列文章,版本:OOS v9.3.1
Spring Boot Admin 系列