这是我参与「第五届青训营 」伴学笔记创作活动的第 6 天
架构初探
什么是架构
架构,又称软件架构
- 是有关软件整体结构与组件的抽象描述
- 用于指导软件系统各个方面的设计
架构好比地基,一定要健壮
单机
软件系统需要具备对外提供服务,单机,就是把所有功能都实现在一个进程里,并部署在一台机子上。比如卖蛋糕。
优点:
- 简单 问题
- C10K problem
- 运维需要停服
单体、垂直应用|垂直切分
单体架构:分布式部署
垂直应用架构: 按应用垂直切分
优点:
- 水平扩容
- 运维不需要停服 问题:
- 职责太多,开发效率不高
- 爆炸半径大
但是一个师傅从头到尾做一个蛋糕效率很低,所以延伸出如何提高做蛋糕效率?
答案就是分工协作。
SOA、微服务|水平切分
SOA(Service-Oriented Architecture)
- 将应用的不同功能单元抽象为服务
- 定义服务之间的通信标准 微服务架构: SOA的去中心演进方向
问题:
- 数据一致性 一共交付多少蛋糕
- 高可用 师傅如何一起合作
- 治理 怎么容灾
- 解耦和过微 运维成本考虑
小结
架构的演进初衷
- 需求量越来越大,终归要增加人手
- 越做越复杂,终归要分工合作
架构的演进思路:
- 垂直切分
- 水平切分
企业级后端架构
云计算
云原生之弹性计算资源
云原生之弹性存储资源
云原生之DevOps
云原生之微服务架构
云原生之服务网络
云原生之蛋糕店
后端架构挑战
问题
离在线资源并池
自动扩缩容
微服务亲合性部署
流量治理
CPU水位负载均衡
后端架构实战
问题提炼
自适应动态权重 AIpha
自适应动态权重 Beta
总结
前半部分还挺好理解的,后面有些抽象了,可能我实力不够,怪不得架构师都是几年磨炼出来 的。