【从零开始学架构-李运华】06|复杂地来源:可扩展性
可扩展性指系统为了应对将来需求的变化而提供的一种扩展能力,新需求出现时系统不需要或者仅需要少量修改就可以支持,无需整个系统重构或者重建。
面向对象就是为了解决可扩展性,后来的设计模式更是将可扩展性做到了极致。
具备良好扩展性的两个基本条件:正确预测变化、完美封装变化。
预测变化
架构师需要预测,但预测本身就存在不确定性复杂性在于:
- 不能每个设计点都考虑可扩展性
- 不能完全不考虑可扩展性
- 所有的预测都存在出错的可能性
应对变化方案一
将“变化”封装在“变化层”,将不变的部分封装在独立的“稳定层”。
例一:接受数据格式的扩展
例二:数据库类型的扩展
问题:
- 对两个层的拆分
- 设计两个层间的接口
应对变化方案二
提炼出一个“抽象层”和一个“实现层”
有23种设计模式
【从零开始学架构-李运华】06|复杂地来源:可扩展性相关推荐
- 从零开始学架构 01-架构基础【笔记】
从零开始学架构(李运华) pdf下载地址 https://pan.baidu.com/s/1cZJOR3cfpmS1BDfp6gJaBQ 提取码:u2ou 说明:对从零开始学架构这本书看时所做的记录, ...
- 阿里P9李运华:架构到底是指什么?
你好,我是李运华. 2018 年,我发布了<从 0 开始学架构>这门课程,分享了我之前在电信业务和移动互联网业务方面的经验和感悟. 后来,我转岗去了蚂蚁国际,从事更加复杂的支付业务.为什么 ...
- 从零开始学架构5 - 实战篇
从零开始学架构5 - 实战篇 38 | 架构师应该如何判断技术演进的方向? 潮流派? 保守派? 跟风派? 技术演进的动力 1)对于产品类业务,答案看起来很明显:技术创新推动业务发展! 苹果开发智能手机 ...
- 从零开始学架构4 - 可扩展篇
从零开始学架构4 - 可扩展篇 32 | 可扩展架构的基本思想和模式 今天我们进入架构可扩展模式的学习,这部分内容包括分层架构.SOA 架构.微服务和微内核等,先来聊聊架构的可扩展模式. 可扩展的基本 ...
- 从零开始学架构2 - 高性能篇
从零开始学架构2 - 高性能篇 从0开始学架构.高性能篇 14 | 高性能数据库集群:读写分离 读写分离原理 读写分离的基本原理是将数据库读写操作分散到不同的节点上,下面是其基本架构图. 读写分离的基 ...
- 关于新技术的引入原则 ——从零开始学架构
不以解决实际问题引入的技术都耍流氓. 新技术的引入不是为了证明自己,而是为了解决实际项目中遇到的问题.希望诸位能够控制住自己的心魔. 新技术的引入要求应该是解决的问题大于带来的问题. 再引入新技术,请 ...
- 从零开始学架构三 高性能
从零开始学架构三 高性能 读写分离 读写分离的基本实现是: 数据库服务器搭建主从集群,一主一从.一主多从都可以. 数据库主机负责读写操作,从机只负责读操作. 数据库主机通过复制将数据同步到从机,每台数 ...
- 从零开始学架构3 - 高可用篇
从零开始学架构3 - 高可用篇 从0开始学架构.高可用篇 22 | 想成为架构师,你必须知道CAP理论 CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是 ...
- 从零开始学架构——架构基础
本文章的内容是根据书籍<从零开始学架构>整理的资料,供作者以及读者查阅. 1. 架构的定义 软件架构指软件系统的顶层架构.详细阐述如下: a. "系统由一群关联个体组成" ...
- SpringBoot微架构-李兴华-专题视频课程
SpringBoot微架构-2719人已学习 课程介绍 SpringBoot是Spring推出的一种微架构的开发框架,在现在的项目开发之中使用非常普遍,并且也是现在所有企业开发的基础要 ...
最新文章
- 分析PHP中单双引号的误区和双引号小隐患
- oracle自动分区maxvalue,分区表中的maxvalue参数设置-Oracle
- mysql 未能启用约束_未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值。...
- Java黑皮书课后题第3章:**3.24(游戏:抽牌)编写程序,模拟从一副52张的牌中抽一张牌,程序应显示牌的大小、花色
- tcpdump源码分析——抓包原理
- 深入MTK平台bootloader启动分析笔记
- python 查询sqlserver 视图_SQL Server查看视图定义总结
- php采集器分析功能实现
- 有关windows firewall边缘遍历(Edge traversal)的一点信息
- 不走寻常嵌入式开发路
- ThinkPad SL400 改装Win2003方法以及驱动下载列表(适用于SL500)
- 【GIS】开源GIS简介
- 「免费 | 重磅」9月19日首届智能决策论坛即将开幕!(附带10+位作者演讲主题及摘要)「中国科学院自动化研究所」...
- 人生苦短,你一定要成为你自已想成为的那个人
- 华为Android彩蛋,华为手机DIY拨号及彩蛋功能介绍
- [论文阅读] (13)英文论文模型设计(Model Design)如何撰写及精句摘抄——以入侵检测系统(IDS)为例
- 中文老师经常说的IB课程,到底是什么?
- 2020李宏毅深度学习hw1
- 纯CSS实现一个三角形加圆角三角形
- POJ3322bloxorz
热门文章
- 【CodeForces 1260D --- A Game with Traps】二分
- php 数组添加键值对,php怎么为数组增加键值对
- 安装office2010常见的提示错误解决办法
- 【易语言界面开发系列教程之(EX_UI使用系列教程--EX组件(一键换肤))】
- 测试用例和缺陷报告模板
- Shadow Defender 安装后启动蓝屏、无法启动、不兼容 Win10 解决方案
- Win10系统隐藏磁盘
- C语言新思路跟未来教育哪个好,计算机等级考试用什么书好 未来教育的书怎么样?貌似网上评价很高...
- 数学建模——相关系数(4)——斯皮尔曼相关系数(spearman)
- 阿里巴巴代码规范插件