这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天
一、本堂课重点内容:
- 常见软件架构
- 云计算架构
- 云原生架构
- 企业级后端架构的挑战
二、详细知识点介绍:
什么是架构
常见软件架构:
- 单机
- 单体(分布式部署)
- 水平扩容
- 运维不需要停服
- 垂直应用(按应用垂直切分)
- SOA (Service Oriented Architecture)
- 将应用的不同功能单元抽象为**服务 **
- 定义服务之间的通信标准
- 微服务 (Microservice)
- 去中心化方向的服务之间通信的最终形态
- 不同模块的RD可以专心于自己的业务逻辑了,开发迭代效率得到显著的提高。
- 各个服务独立运维,变更操作的影响面可控了
企业级后端架构剖析
- 云计算
- 基础
- 虚拟化技术(硬件(虚拟机)、操作系统(容器)、网络)
- 编排方案 (虚拟机编排方案(OpenStack)、容器编排方案(Kubernetes))
- 架构
- IaaS (Infrastructure as a Service)
- Paas (Platform as a Service)
- Saas (Software as a Service)
- FaaS (Function as a Service)
- 基础
- 云原生
代表技术: - 容器化 - 服务网格 - 微服务 - 不可变基础架构 - 声明式API
- 弹性资源计算类型:
- 服务资源调度
- 计算资源调度
- 消息队列
- 弹性资源存储类型
- 经典
- 对象:宣传视频
- 大数据:用户消费记录
- 经典
- 关系型数据库
- 元数据
- NoSQL
微服务架构选择:
服务网格:
企业级后端架构的挑战
- 离线任务
- 在线任务
- IO 密集型
- CPU 密集型
- 服务治理
- IPC (Inter-Process Communication)
- RPC (Remote Procedure Call)
三、实践练习例子:
通过蛋糕店遇到以下问题来设计架构:
- 不同师傅干活的效率差距较大
- 有些师傅希望【能者多劳多挣】 通过CPU水位负载均衡,设计架构
四、课后个人总结:
通过本次课程,学习到了后端架构的设计。之前了解到的一些概念,通过今天的课程,有了一个深入的理解。也明白了为什么要用,应用的地方。比如云计算、RPC等概念,也了解到了容器技术。同时明白了设计架构需要先清楚解决什么问题,再进行调研,接着进行技术选型,最后考虑异常情况。