什么是架构?
架构是软件系统的顶层结构(基础结构)
框架是面向编程或配置的半成品
组件是从技术维度上的复用
模块是从业务维度上职责的划分
系统是相互协同可运行的实体
架构设计的目的是什么?
为了高性能、高可用、可扩展
架构解决了哪些问题?
系统规模庞大,内部耦合严重,开发效率低
系统耦合严重,牵一发动全身,后续修改和扩展困难
系统逻辑复杂,容易出问题,出问题后很难排查和修复
高性能增加机器目的在于“扩展”处理性能;高可用增加机器目的在于“冗余”处理单元。
高性能
更快的响应,更大的并发
通过‘扩展’增强处理性能
高可用
规避不可预知异常宕机
通过‘冗余’增加可用性
可扩展
预测变化
应对变化
复杂度
低成本带来的技术引进与技术创新
功能架构安全
规模-量变演变成质变
架构设计的三大原则
合适原则:“合适优于业界领先”
-结合实际情况:人力,条件,流量等资源
简单原则:“简单优于复杂”
-结构复杂性:组件越多可用性越差
-逻辑复杂性:包罗越多,投入越多,故障越多
演化原则:“演化优于一步到位”
-优秀的系统-架构照搬不来,需一步步演进、迭代