这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
要点
1.什么是架构:围绕架构的定义和演进两部分内容展开
2.企业级后端架构剖析:详细介绍企业级后端架构的形态
3.企业级后端架构的挑战:企业级架构都面临着哪些挑战,如何解决
4.后端架构实战:以第三个知识点中的一个挑战为例,详细讲解如何做架构设计
课程1-架构定义解析
1.单机架构
优点:
a.简单
缺点:
a.C10K problem。指如何让服务器能够支持10k并发
b.运维需要停服
2.分布式部署
单体架构分布式部署【每个节点都是全功能的】|垂直应用架构按应用垂直切分【每个节点负责固定单一的功能】
优点:
a.水平扩容
b.运维不需要停服
缺点:
a.职责太多,开发效率不高
b.爆炸半径大
3.SOA、微服务|水平切分
将应用的不同功能单元抽象为服务
定义服务之间的通信标准
微服务架构:SOA的去中心化演进方向
问题:
a.数据一致性
b.高可用
c.治理
d.解耦合vs过微
课程2-企业级后端架构剖析
云计算
a.IaaS【infrastructure】【买房子->整租/合租】
b.Paas【platform】【清包->全包】
c.SaaaS【software】【从0培训->培训过的师傅】
d.FaaS【function】【自己生产->批量生产】
云原生
a.弹性资源:虚拟化容器;快速扩缩容
b.DevOps:敏捷开发;CI/CD
c.微服务架构:业务功能单元解耦;统一的通信标准
d.服务网格:业务与治理解构;异构系统的治理统一化;复杂治理能力
课程3-业内后端架构面临的挑战
1.离在线资源并池
核心收益:
a.降低物理资源成本
b.提供更多的弹性资源,增加收入
解决思路:
离在线资源并池
在线业务特点:
a.IO密集型为主
b.潮汐性,实时性
离线业务特点:数据分析等
a.计算密集型占多数
b.非实时性
同一个机器做离在线隔离:虚拟化/容器技术对计算资源进行划分
2.自动扩缩容
核心收益:
a.降低业务成本
解决思路:
a.自动扩缩容
利用在线业务潮汐性进行自动扩缩容
3.微服务亲合性部署
核心收益:
a.降低业务成本
b.提高服务可用性
解决思路:
a.将满足亲合性条件的容器调度到同一台宿主机
b.微服务中间件与服务网格通过共享内存通信
c.服务网格控制面实施灵活、动态的流动调度
4.流量治理
核心收益:
a.提高微服务调用容错性
b.服务不可用时容灾
c.进一步提高开发效率,DevOps发挥到极致
解决思路:基于微服务中间件 & 服务网格的流量治理
a.熔断、重试
b.单元化
c.复杂环境(功能、预览)的流量调度
5.CPU水位负载均衡
核心收益:
a.打平异构环境算力差异
b.为自动扩缩容提供正向输入
解决思路:CPU水位负载均衡
a.Iaas:提供资源探针
b.服务网格:动态负载均衡
课程4-后端架构实战
输入:
a.服务网格数据面:支持带权重的负载均衡策略
b.注册中心存储了所有容器的权重信息
c.宿主机能提供:容器的资源使用情况;物理资源信息【如CPU型号】
关键点:
a.紧急回滚能力
b.大规模
c.极端场景