这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
思考题
-
软件架构演进至今都有哪些形态?它们分别解决了什么问题?仍然存在什么问题?
-
云计算有哪些基础技术?云计算服务的形态又有哪些?
-
云原生是什么?它跟云计算的关系是?
-
云原生的代表技术有哪些?
-
弹性资源
- 计算资源
- 存储资源
-
微服务架构
- 通信协议
- 中间件
-
DevOps
- 软件生命周期
-
服务网格
-
-
企业级后端架构面临的挑战有哪些?
- 离线任务
- 在线任务
- IO 密集型
- CPU 密集型
- 服务治理
- IPC (Inter-Process Communication)
- RPC (Remote Procedure Call)
总结
各软件架构的优缺点与简介
| 形态 | 优点 | 缺点 | 简介 |
|---|---|---|---|
| 单机 |
|
| All in one,所有的东西都在一个进程里,部署在一个机器上。 |
| 单体 |
|
| 在单机架构的基础上,将进程部署到多个机器上。 |
| 垂直应用 |
|
| 在单机架构基础上,将进程按照某种依据切分开。比如,A 软件和 B 软件的后端原先采用单机架构部署,那就是一个进程部署在多个机器上;如果用垂直应用架构,可以将 A 和 B 的后端拆分为 A、B 两个进程,然后再按照单体模式的思路,部署在多个机器上。 |
| SOA(Service Oriented Architecture,面向服务架构) |
|
| SOA 架构中,服务为一等公民,将进程按照不同的功能单元进行抽象,拆分为『服务』。有了服务之后,SOA 还为服务之间的通信定义了标准,保证各个服务之间通讯体验的一致性。 |
| 微服务(Microservice) |
|
| 在 SOA 架构中,ESB 起到了至关重要的作用。但从架构拓扑来看,它更像是一个集中式的模块。有一个 SOA 分布式演进的分支,最终的形态便是微服务。 |
标题:【后端专场 学习资料三】第五届字节跳动青训营 - 掘金