没有合适的资源?快使用搜索试试~ 我知道了~
1.备选方案1:采用开源的Kafka 2.备选方案2:集群 + MySQL存储 3.备选方案3:集群 + 自研存储方案 1. 几种常见的架构设计误区 2. 备选
资源推荐
资源详情
资源评论
极客时间
hongfenghuoju/7800[2018/8/6 9:13:08]
11 | 架构设计流程:设计备选方案
2018-05-22 李运华
上一期我讲了架构设计流程第1步识别复杂度,确定了系统面临的主要复杂度问题后,方案设计就有了明确的目标,我们就可以开始真正进行架构方案设计了。今天我来讲讲架构设
计流程第2步:设计备选方案,同样还会结合上期“前浪微博”的场景,谈谈消息队列设计备选方案的实战。
架构设计第
2
步:设计备选方案
架构师的工作并不神秘,成熟的架构师需要对已经存在的技术非常熟悉,对已经经过验证的架构模式烂熟于心,然后根据自己对业务的理解,挑选合适的架构模式进行组合,再对组
合后的方案进行修改和调整。
虽然软件技术经过几十年的发展,新技术层出不穷,但是经过时间考验,已经被各种场景验证过的成熟技术其实更多。例如,高可用的主备方案、集群方案,高性能的负载均衡、多
路复用,可扩展的分层、插件化等技术,绝大部分时候我们有了明确的目标后,按图索骥就能够找到可选的解决方案。
只有当这种方式完全无法满足需求的时候,才会考虑进行方案的创新,而事实上方案的创新绝大部分情况下也都是基于已有的成熟技术。
NoSQL:Key-Value的存储和数据库的索引其实是类似的,Memcache只是把数据库的索引独立出来做成了一个缓存系统。
Hadoop大文件存储方案,基础其实是集群方案+ 数据复制方案。
Docker虚拟化,基础是LXC(Linux Containers)。
LevelDB的文件存储结构是Skip List。
在《技术的本质》一书中,对技术的组合有清晰的阐述:
虽说基于已有的技术或者架构模式进行组合,然后调整,大部分情况下就能够得到我们需要的方案,但并不意味着架构设计是一件很简单的事情。因为可选的模式有很多,组合的方
案更多,往往一个问题的解决方案有很多个;如果再在组合的方案上进行一些创新,解决方案会更多。因此,如何设计最终的方案,并不是一件容易的事情,这个阶段也是很多架构
师容易犯错的地方。
第一种常见的错误:设计最优秀的方案。
很多架构师在设计架构方案时,心里会默认有一种技术情结:我要设计一个优秀的架构,才能体现我的技术能力!例如,高可用的方案中,集群方案明显比主备方案要优秀和强大;
高性能的方案中,淘宝的
XX
方案是业界领先的方案
……
根据架构设计原则中
“
合适原则
”
和
“
简单原则
“
的要求,挑选合适自己业务、团队、技术能力的方案才是好方案;否则要么浪费大量资源开发了无用的系统(例如,之前提过的
“
亿级用
户平台
”
的案例,设计了
TPS 50000
的系统,实际
TPS
只有
500
),要么根本无法实现(例如,
10
个人的团队要开发现在的整个淘宝系统)。
第二种常见的错误:只做一个方案。
很多架构师在做方案设计时,可能心里会简单地对几个方案进行初步的设想,再简单地判断哪个最好,然后就基于这个判断开始进行详细的架构设计了。
这样做有很多弊端:
心里评估过于简单,可能没有想得全面,只是因为某一个缺点就把某个方案给否决了,而实际上没有哪个方案是完美的,某个地方有缺点的方案可能是综合来看最好的方案。
架构师再怎么牛,经验知识和技能也有局限,有可能某个评估的标准或者经验是不正确的,或者是老的经验不适合新的情况,甚至有的评估标准是架构师自己原来就理解错了。
单一方案设计会出现过度辩护的情况,即架构评审时,针对方案存在的问题和疑问,架构师会竭尽全力去为自己的设计进行辩护,经验不足的设计人员可能会强词夺理。
11 |
架构设计流程:设计备选方案
李运华
- 00:00 / 11:58
新技术都是在现有技术的基础上发展起来的,现有技术又来源于先前的技术。将技术进行功能性分组,可以大大简化设计过程,这是技术
“
模块化
”
的首要原因。技术
的
“
组合
”
和
“
递归
”
特征,将彻底改变我们对技术本质的认识。
更多一手资源请添加QQ/微信1182316662
更多一手资源请添加QQ/微信1182316662
资源评论
英次
- 粉丝: 20
- 资源: 306
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Excel考勤加班表,出勤公休,年假,出差,迟到,旷工,早退,事假,病假,加班,自动计算
- 我国10万接图表矢量文件(MapGis格式)
- 在MATLAB中,使用滤波器对加噪正弦波信号进行平滑处理
- Camera_XHS_17158256580511040g008312ar03ts5m2g5p7lo4318dbrrc91s80.jpg
- 11.html
- 一款开箱即用的 Vue 中后台管理系统框架
- lcd.hex
- 【管理系统源码】资源wxtpglxt-v1.0.zip
- 使用 Simulink 进行自适应 MPC 设计2015\使用 Simulink 进行自适应 MPC 设计2015
- levigo-jbig2-imageio-6.13
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功