后端架构剖析笔记 | 青训营

129 阅读2分钟

后端架构剖析

架构又称软件架构,是有关软件整体结构和组件的描述。就相当于大厦的地基

软件架构的演变

单机架构

简单

image-20230822195926993.png

缺点: 运维需要停服

单体架构 垂直应用架构

image-20230822200133980.png

可以将服务分配给多个程序处理

image-20230822200303089.png

将服务细分,专人做专事

SAO架构和微服务架构

image-20230822200343188.png

面向各个服务,将职责继续细分。

image-20230822200520348.png

将服务之间的交流更加细化

后端架构演进的初衷是为了解决单体架构面临的挑战,随着企业业务和用户量的增大,单体架构可能会面临负载过高、业务场景复杂化、代码维护困难等问题。因此,后端架构的演进是为了解决这些挑战,提高系统的可用性、可扩展性和可维护性。

image-20230822200731013.png

云计算

image-20230822201027440.png

云计算是通过软件自动化管理,提供计算资源的服务网络。

基础:虚拟化技术 编排方案

云原生

image-20230822201336832.png

弹性资源的类型 计算资源和存储资源

image-20230822201922257.png

image-20230822202026017.png

devOps结合自动化流程,以加速应用开发、测试和部署的速度,提高软件开发,交付效率

image-20230822202233053.png

云原生的微服务架构

云原生的微服务架构是一种将单体应用拆分为多个小型服务,通过通信协议协作实现系统功能

image-20230822202328329.png

服务网格

image-20230822202614029.png

挑战

基础设施层面

物理资源有限

用户层面

网络通信开销大

网络抖动

不同情况下不同实例用的资源不均

解决方案:

离在线资源并池

就是根据业务的不同情况合理的调用资源

image-20230822203259886.png

自动扩缩容

根据业务访问高峰期和低峰期的不同,动态调节资源

可以依据cpu的利用率,内存等等指标来扩缩容。

微服务亲合性部署

将满足条件的容器调度到一台宿主机上,通过共享通信来节省资源开支

流量治理

基于微服务中间件和服务网格的流量治理

CPU水位负载均衡

laas 提供资源探针 服务网格 动态负载均衡