蔡学镛架构设计方法-2014-8-17

上传人:206****923 文档编号:46620849 上传时间:2018-06-27 格式:PDF 页数:51 大小:12.47MB
返回 下载 相关 举报
蔡学镛架构设计方法-2014-8-17_第1页
第1页 / 共51页
蔡学镛架构设计方法-2014-8-17_第2页
第2页 / 共51页
蔡学镛架构设计方法-2014-8-17_第3页
第3页 / 共51页
蔡学镛架构设计方法-2014-8-17_第4页
第4页 / 共51页
蔡学镛架构设计方法-2014-8-17_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《蔡学镛架构设计方法-2014-8-17》由会员分享,可在线阅读,更多相关《蔡学镛架构设计方法-2014-8-17(51页珍藏版)》请在金锄头文库上搜索。

1、软件架构设计 2014-8-17 版 A Methodology of Software Architecture Design A Methodology of Software Architecture Design 中国平安 集团首席架构师 开放平台总架构师 蔡学镛 认识软件架构 架构就是代码的组织方式 一句话说明架构是什么 说说这三个架构各自的优缺点 但架构只著眼于大处 函数 类 详细 设计 框 架 架构 设计 模块 语句 算法 代码 粒度 函数库 类库 库 粒度 设计 粒度 应用 许多人常将架构与设计模式和框架混为一谈,这是错的 主要 主要 架构性框架 架构粒度 = f(项目, 阶段

2、, 层) 设计师角色 【架构师】 关注大格局的设计 需求 【系统设计师】 关注小的局部设 计需求 【算法工程师】 关注具体问题的代 码解决方式,效率 为主 详细 设计 架构 设计 算法 什么是大格局的需求? 运营阶段 可用性 运营阶段 安全性 运营阶段 高性能 未来变化 伸缩性 未来变化 扩展性 长期运营 降低成本 开发阶段 开发测试 运营阶段 可用性 运营阶段 安全性 运营阶段 高性能 未来变化 伸缩性 未来变化 扩展性 长期运营 降低成本 开发阶段 开发测试 相比于企业级系统,互联网系统的差异 并发量大 流量大 数据量大 运营阶段 可用性 运营阶段 安全性 运营阶段 高性能 未来变化 伸缩

3、性 未来变化 扩展性 长期运营 降低成本 开发阶段 开发测试 相比于企业级系统,互联网系统的差异 暴险危机高 运营阶段 可用性 运营阶段 安全性 运营阶段 高性能 未来变化 伸缩性 未来变化 扩展性 长期运营 降低成本 开发阶段 开发测试 相比于企业级系统,互联网系统的差异 地理分布广 网络条件差异大 运营阶段 可用性 运营阶段 安全性 运营阶段 高性能 未来变化 伸缩性 未来变化 扩展性 长期运营 降低成本 开发阶段 开发测试 相比于企业级系统,互联网系统的差异 需求变化快 迭代式开发 运营阶段 可用性 运营阶段 安全性 运营阶段 高性能 未来变化 伸缩性 未来变化 扩展性 长期运营 降低成

4、本 开发阶段 开发测试 一个软件系统怎么可能如此完美? 答案是:整体的目标与局部的目标分開 【问题】要如何规划设计模块, 并组织这些模块,使其成为好 的架构,满足大格局的目标? 【答案】第一步是切割出足够细 粒度的模块,用正确的方法连结 起来。 架构的 4D 座标系统 业务维度(Y1.Yn):每个业务系统 前后端维度(X1.X7):界面(红)、应 用(橙)、框架(黄)、服务(绿)、 核心(蓝)、代理(靛)、数据(紫) 系统维度(Z1.Zn):软件、容器、运行 时、操作系统、虚拟机、到硬件。跟行 业无关 架构的四维座标系统 时间维度(T1.Tn):初始架构到成熟架 构 Y X Z T Y/Z/T

5、 本教材 忽略不提 Y/Z/T 本教材 忽略不提 本教材 不包 含 Y Z T 的详 细架构方法 X6 代理 X5 核心 X4 服务 X1 界面 X7 数据 X3 框架 用户 外部 外部 业务 领域 七 层 架 构 X2 应用 X 座标 注意:每一层内由多个模块构成,层只是一种逻辑概念, 层在架构中不具备实体 黄色箭头是跨系统的调用,白箭头是系统内调用 API SPI 交互 资源 1 2 3 4 5 代理 核心 服务 应用 界面 用户 接出 应 用 优 化 资 源 优 化 接入 平 台 优 化 前 端 优 化 数据 框架 负载均衡服务器 软负载均衡 静态资源服务器 Session服务器 集群

6、MQ 集群 MQ CDN 反向代理服务器 缓存服务器 云 读写分离 同步备份 异步备份 冷备份 缓存服务器 云 配置服务器 配置服务器 Z3 的考量 灾备中心 代 理 核 心 服 务 界 面 数 据 框 架 应 用 代 理 核 心 服 务 数 据 XY 座标 代 理 核 心 服 务 数 据 不同后台系统的调用, 视为外部间接调用 但对于公共系统,可以 直接调用 公共系统是指大家都可能需要的系统,包括短信发送、加密服务。 公共系统不可以依赖任何非公共系统。公共系统接口简单不易改 变。公共系统没有独立成为一家公司运作的可能。 七层架构详解 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用

7、 业务 资源 领域 交互 跟外部有接触的,只有三个地方。 三个外部系统,包含一个人,一个接入系统,一个接出系统 箭头指的是接口依赖,不是信息流向 黃色箭頭是回调(Call-Back)。想一想,为什么这三层要允 许回调? 黄色箭头部分也可改用 Message Queue 的低耦合設計方式 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用 业务 资源 领域 交互 核心层反映出领域模型 核心层的接口基本就是对此领域模型进行操作 为何要建立领域模型? 1. 帮助接口设计 2. 帮助数据存储设计,梳理出更具有弹性的存储方式 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用 业务 资源

8、 领域 交互 服务层针对领域对象进行操作,并提供弹性的调用接口 服务层接口通常数目不多,但每个接口通常参数相当多 服务层没有状态,也不做缓存 实现 API。如果公开,就是开放接口 调用服务层的接口,通常需要授权 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用 业务 资源 领域 交互 驱动作用: 數據代理:代表外部系统或数据库 Z3 缓存:为了效率或提高可用性(当外部系统掉线) Z3 数据模块,支持读写分离 转接或转发 转接到外部系统 转发到日志系统,数据备份系统(通过事件钩子) 热备系统接入 SPI 作用: 隔离:避免依赖特定的外部系统或数据库 代理 核心 服务 界面 数据 框架

9、用户 外部 外部 应用 业务 资源 领域 交互 数据是公司最重要的资产,数据层负责记录系统运作后的最 终结果 根据数据的特性,数据库可以是: 关系式数据库 列数据库 Associative DB Key-Value 文件数据库 日志 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用 业务 资源 领域 交互 根据市场需求,开发各种应用,并以接口的方式展现。 如果是 Web 应用,则这里的 Z3 包含 Web 服务器层 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用 业务 资源 领域 交互 将常用的应用流程设计成框架,后续开发同类型应用时, 只要通过参数或者 DSL,就可以轻

10、易订制应用,减少开发应 用的成本 框架也可以用接口的方式开放让外部调用 Z3 缓存与 Session 代理 核心 服务 界面 数据 框架 用户 外部 外部 应用 业务 资源 领域 交互 界面更像是用户的延伸,而非应用的延伸。界面可被視為用 戶代理(User Agent) 根据用户喜好、语言、平台(手机、电脑、平板)进行开 发各种用户界面的开发。 一个应用可以有多个界面 如果是 Web 应用,則这里的 Z3 包含 Web 浏览器 7+2 层 架 构 之 系 统 素 质 可用性(Usability) 可用性(Usability),扩展性, 安全(防攻 击) 可用性(Availability),安全

11、 高效率 透明性 安全性,持久性 数据 代理 核心 服务 框架 应用 界面 通用层 网络层 通用性 稳定,可用(Availability),伸缩,效率 7+2 层 架 构 之 人 员 素 质 了解用户,且具有审美观 了解市场与用户,具有产品设计能力 了解市场与用户,且擅长归纳总结 了解领域和公司的战略,有接口设计能力 有比较强的计算机知识与算法能力 了解领域与合作夥伴 了解领域与数据库 数据 代理 核心 服务 框架 应用 界面 通用层 网络层 了解语言、程序框架、各种开源项目 了解操作系统、网络、云计算 7+2 层 架 构 之 技 术 数据 代理 核心 服务 框架 应用 界面 通用层 网络层

12、HTML/CSS/JavaScript/Android/iOS PHP/Python/Ruby/Java Java/C Java/C NoSQL/MySQL Security/MemCached/Redis/MySQL Spring/Load Balance/F5/Cloud 7+2 层 架 构 之 代 码 迭 代 进 度 数据 代理 核心 服务 框架 应用 界面 通用层 网络层 每周 每月 每季 每年 不一定 不一定 每季 每半年 架构流程 层 架构推导过程 接口 模块 对象 参数 数据 对内高内聚力 对外低耦合 泛用化 泛用化 详细设计 详细设计 详细设计 业务设计 X2 X4 模块设计 X1.X6 / Z2 数据存储设计 X1 X3 X6 X7 网络布署规划 X1.X7 / Z3

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号