这是我参加[第五届青训营]伴学笔记创作活动第七天
一.架构的含义
什么是架构?架构是软件整体结构与组件的抽象描述,它定义了系统涉及到的各个元素,并将这些元素通过一定的规则联合起来,协同完成整体的目标功能。而这一过程的产物就是所谓的架构图,它将涉及的元素和关系可视化出来,形成有标注、有说明的构建蓝图
二.架构的具体
- 单机架构
把所有的功能都实现在一个进程里,并部署到一台机器上
优点
- 简单
问题
-
运维需要停服
-
单体,垂直应用架构
单体架构: 分布式部署
垂直应用架构: 按应用垂直切分的单体
- 优点:
水平扩容
运维不需要停服
- 问题:
职责太多,开发效率不高
爆炸半径大
- SOA、微服务|水平切分架构:
SOA(Service-o riented A rchitecture)
1.将应用的不同功能单元抽象为服务
2.定义服务之间的通信标准
微服务架构:SOA的去中心化演进方向
问题:
数据一致性
装货台共交付了多少蛋糕?
高可用
这么多师傅,如何合作?
治理
烤箱坏了,怎么容灾?
解耦 vs 过微
运维成本高了,值当么?
小结
架构的演进初衷:好比做蛋糕。
需求量越来越大,终归要增加人手
越做越算杂,这归要分工合作
架构的演进思路:就像切蛋糕。蛋糕越来越大,一口吃不下终归要切分
架构设计是对项目解决方案的高级抽象,它决定了后续系统的实现方向。从系统分析到汇总方案再到具体实现,这都需要我们储备大量的知识去推动架构设计是对项目解决方案的高级抽象,它决定了后续系统的实现方向。从系统分析到汇总方案再到具体实现,这都需要我们储备大量的知识去推动