这是我参与「第五届青训营 」笔记创作活动的第5天。
引言
今天的课程是关于架构学习的一个入门,老师用贴近生活的例子(开蛋糕店)的例子让我们理解什么是架构,为什么需要使用架构,架构的发展,企业后端架构分析和架构实战。这篇文章主要是针对今天课程的记录和总结。
一、本堂课重点内容
本堂课的知识点
- 什么是架构
- 企业级后端架构分析
- 企业级后端架构的挑战
- 后端架构实战
二、详细知识点介绍
- 架构发展,分类
- 单机架构:把所有功能都实现在一个进程里,并部署在一台机器中
- 单体架构:按照功能进行垂直切分,引入多台机器,进行分布式部署
- SOA (Service Oriented Architecture):把功能单元抽象为服务
- 微服务框架:SOA的去中心化演进
架构的演进的原因即系统需求越来越大,功能逻辑越来越复杂,需要低耦合,便于维护和扩展
- 企业级后端架构分析
使用虚拟化技术,使用网络中现成的资源(硬件和软件) 云计算可分为四层:IaaS(基础设施即服务,如硬件资源)、 PaaS(平台即服务,如操作系统,数据库系统,) 、SaaS(软件即服务,一些应用层软件,如在线文档) 、FaaS(函数即服务)
- 企业级后端架构挑战
在用户的角度,云的资源是无限的,当我们知道实际上是对应有限的硬件资源(服务器,CPU,内存),要考虑如何有效,合理,高效率的使用有限的硬件资源,并且要向用户屏蔽物理资源(对于用户来说物理环境是透明的)。
分布式部署,微服务架构,要解决各个服务(模块)的通信,降低网络通信的代价。
三、实践练习例子
设计一个根据主机层面的资源信息,实时进行流量调度的系统,打平不同宿主机异构环境的算力差异
自适应静态权重:采集机器的物理资源信息,调整各个机器的权重
自适应动态权重Alpha
自适应动态权重Beta
自适应动态权重Release
四、课后个人总结
今天这堂课程明白了为什么需要架构(架构的作用),了解到架构的发展方向(垂直切分-分布式,水平切分-模块化)和当前企业级后端架构。一个好的架构可能只是适合当前项目的,并不能对于所有项目来说都是最好的,我们要根据项目的实际情况设计一个架构。
五、引用参考
[1] 青训营课程资料【后端专场 学习资料三】第五届字节跳动青训营 - 掘金 (juejin.cn)