架构设计
2020-03-31 08:36:13 29 举报
AI智能生成
架构设计思维导图
作者其他创作
大纲/内容
设计原则<br>
合适优于业界领先
简单优于复杂
结构复杂性
逻辑复杂性<br>
演化优于一步到位
设计流程<br>
识别复杂度
构建复杂度的来源清单——高性能、可用性、扩展性、安全、低成本、规模
根据业务、技术、团队等综合情况进行排序
优先解决当前面临的最主要的复杂度问题
设计备选方案
评估和选择备选方案
360 度环评
详细方案设计
不但要进行备选方案设计和选型,还需要对备选方案的关键细节有较深入的理解
通过分步骤、分阶段、分系统等方式,尽量降低方案复杂度
设计团队,博采所长
是什么
系统与子系统
模块与组件
架构与框架
软件架构指软件系统的顶层结构
目的
为了解决软件系统复杂度带来的问题
高性能<br>
What
与当前的技术发展状况与业务所处的阶段紧密相关
Why
追求良好的用户体验
满足业务增长的需要
How
单机
多进程
多线程
进程间通信
多线程并发<br>
集群
任务分配<br>
任务分解
简单的系统容易做到高性能<br>
可以针对单个任务进行扩展
高可用
What
Why
硬件故障
软件BUG或网站更新升级发布
不可抗拒力
How
计算高可用
新增任务分配器<br>
连接方式与管理
分配算法,主备如何分配
存储高可用
传输延迟
传输中断
高可用状态决策<br>
独裁式
协商式
主备
民主式
Zookeeper
可扩展性
What
软件自身内部方面
软件外部方面<br>
Why
快速响应变化
降低对现有系统的影响
How
预测变化
不能每个设计点都考虑可扩展性
不能完全不考虑可扩展性
所有的预测都存在出错的可能性
应对变化
封装变化层和稳定层
提炼抽象层和实现层
解决方案<br>
分布式服务构建可复用的业务平台
分布式消息队列降低业务模块间的耦合
低成本
引入新技术
创造新技术
安全
功能安全
架构安全
规模<br>
功能越来越多,导致系统复杂度指数级上升
数据越来越多,系统复杂度发生质变
0 条评论
下一页