前言
这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天
今日学习内容:
- 微服务架构介绍
- 微服务架构原理及特征
- 核心服务治理能力
- 字节跳动服务治理实践
正文
微服务框架介绍
系统架构演变历史
为什架构需要演进?
- 互联网的爆炸性发展
- 硬件设施的快速发展
- 需求复杂性的多样化
- 开发人员的急剧增加
- 计算机理论及技术的发展
单体架构 => 垂直应用架构 => 分布式架构 => SOA 架构 => 微服务架构
- 单体架构
-
优点
- 性能最高
- 冗余小
-
缺点
- debug 困难
- 模块相互影响(非核心功能可能导致程序崩溃)
- 模块分工、开发流程困难(几乎无法分工)
-
垂直应用架构
按照业务线进行垂直划分
-
优点:
- 业务独立开发维护
-
缺点:
- 不同业务存在冗余
- 每个业务还是单体
-
分布式架构
抽出业务无关的公共模块,分布式独立部署运行
-
优点
- 业务无关的独立业务
-
缺点
- 服务模块 bug 可导致全站瘫痪
- 调用关系复杂
- 不同服务冗余
-
SOA 架构(Service Oriented Architecture)
面向服务,开始引入“服务”,“服务注册”的概念
-
优点
- 服务注册
-
缺点
- 整个系统设计是中心化的
- 需要从上至下设计
- 重构困难
-
微服务架构
彻底的服务化
-
优点
- 开发效率
- 业务独立设计
- 自下而上
- 故障隔离
-
缺点
- 治理、运维难度急剧增加
- 观测挑战
- 安全性
- 分布式系统本身的复杂性