本文章出自架构师实战入门实战课程,介绍了架构分析方法:系统工程思维,系统分解思维,面向过程分析,面向对象分析的核心要点。以及单体架构(ALL IN ONE)和分布式系统(复杂系统)架构不同视角下的系统组成结构。
一、架构分析方法-大纲
系统工程思维
系统分解思维
面向过程思维
面向对象思维
架构师应该如何分析
1.1系统工程思维
系统工程:把系统以及系统的相关事项当成一个整体
1、系统角度:系统是一个整体,在架构中要考虑各涉众,各类需求;
2、过程角度:架构涉及应该是全过程、全生命周期的,从需求到发布、试运行;到系统消亡;
3、团队角度:架构要满足团队要求,根据团队情况进行架构分层,技术选型
1.2系统分解思维
系统分解:分而治之思想,将系统分解为容易分析、理解和方便解决问题的粒度
1、将大系统分解为二级系统
2、将复杂问题分解为简单问题
3、将通用问题和专用问题分解
4、将稳定部分和不稳定部分分解
1.3面向过程分析
面向过程:通过流程化、模块化的思想进行分析,自顶向下逐层分析;
找到一个系统的入口,然后分析出每一步以及影响这一步的其他因素,从而定义这个系统。
1、自顶向下/自底向上
2、先整体后局部/先大后小
3、模块化/流程化
4、系统分解方法也属于过程分析方法
1.4面向对象分析
面向对象:万物对象,程序=对象+交互,系统=领域模型+交互
1、类、对象、关系
2、继承、封装、多态
3、类图、组件图,部署图,包图
4、用例图、活动图、顺序图,协作图,状态图
1.5架构师如何分析
综合运用系统思维,分解思维,过程思维,对象思维以及任何可用于架构的思维。
二、系统组成结构
单体系统组成结构(ALL IN ONE)
分布式系统组成结构(大型复杂系统)
系统组成的基本元素[逻辑视角]
2.1单体系统组成结构(ALL IN ONE)
系统描述
有一套基于B/S架构的客户关系管理系统,具有以下功能:
实现简单的客户信息管理;
可以对客户进行分类;
可以查看客户购买记录;
对客户进行回访。
目前使用ORACLE数据库进行数据存取;
分析结果(部分视角)
2.2分布式系统组成结构(大型复杂系统)
系统描述
有一套电商系统,具有以下功能:
用户可在线购买商品;
店主可申请开店、发布和管理自己的商品;
用户、店主可查看属于自己的订单;
平台支持在线支持,实现交易闭环;
对接物流平台,进行实时物品配送;
平台提供店铺装修功能;
目前使用MYSQLj数据库集群进行数据存取;
对热点数据进行缓存,加快访问速度;
对静态数据通过CDN加快数据访问
目前各系统进行了分布式架构,每个业务进行了拆分和服务化。
解析结果(部分视角)
系统部署角度
1)各系统独立集群部署;
2)接入反向代理或多级负载均衡;
3)运营商CDN机房部署和同步
4)MYSQL数据库集群
5)分布式缓存集群,MQ集群
2.3系统组成的基本元素[逻辑视角]
从逻辑视角,系统一般可分为子系统,模块,组件,接口,类,对象,数据库,表,记录等。
【预售】架构师入门实战课程
架构之家公众号-课程组,倾情推出
特惠价299元;名额有限,欲购从速!
领取专属 10元无门槛券
私享最新 技术干货