【day7】架构初探-谁动了我的蛋糕 | 青训营笔记

126 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 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.极端场景