架构设计|青训营笔记

68 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天

主要内容:结构介绍和后端架构实战

架构定义:架构又称软件架构,是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。用于指导软件系统各个方面的设计。

软件系统需要具备对外提供服务,单机,就是把所有功能都实现在一个进程里,并部署在一台机器上。优点是简单,问题是C1OK porblem和运维需要停服。

单体架构:分布式部署,垂直应用架构,按应用垂直切分的单体,优点:水平扩容,运维不需要停服。问题:职责太多,开发效率不高,爆炸半径大。

SOA(Service-Oriented Architecture) 将应用的不同功能单元抽象为服务、定义服务之间的通信标准。微服务架构:SOA的去中心化演进方向。

云计算:是指通过软件自动化管理,提供计算资源的服务网络,是现代互联网大规模数据分析和存储的基石。

云原生技术为组织公司在公有云、自由云、混合云等新型的动态环境中,构建和运行可弹性拓展的应用提供了可能。

把存储资源当成服务一样。

DevOps是云原生时代软件交付的利器,贯穿整个软件开发周期。结合自动化流程,提高效率。

容器动态权重的自适应调整,Alpha,服务网格的服务发现,流量调度能力。

演进方向:解决无法紧急回滚的问题,运行时权重自适应。

缺点:过度流量倾斜可能会有异常情况。

自适应动态权重Beta:服务网格上报RPC指标,演进方向,极端场景的处理成为可能,缺点,时序数据库压力较大,动态权重决策中心职责越来越多,迭代->变更->风险。

自适应动态权重Release:微服务化,引入消息队列削峰、解耦,离在线链路切分,梳理强弱依赖。没有最好的架构,只有最合适的架构。