这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天,本节课主要学习了分布式概述、系统模型、理论基础、分布式事务、共识协议以及分布式实践。
1 微服务架构介绍
1 系统架构演变历史
单体架构——垂直应用架构——分布式架构——SOA架构——微服务架构
1.2 微服务架构概览
彻底的服务化
优势:
- 开发效率
- 业务独立设计
- 自下而上
- 故障隔离 劣势:
- 治理、运维难度
- 观测挑战
- 安全性
- 分布式系统
1.3 微服务架构核心要素
服务治理/可观测性/安全
2 微服务架构原理及特征
2.1 基本概念
- 服务:一组具有相同逻辑的运行实体
- 实例:一个服务中,每个运行实体即为一个实例
- 实例与进程的关系:实例与进程之间没有必然对应关系,一个实例可以对应一个或多个进程
- 集群:通常指服务内部的逻辑划分,包含多个实例
- 常见的实例承载形式:进程、VM
- 有状态/无状态服务:服务的实例是否存储了可持久化的数据
2.2 服务注册及发现
可新增一个统一的服务注册中心,用于存储服务名到服务实例的映射来指定调用一个目标的地址
2.3 流量特征
统一网关人口/内网通信多数采用RPC/网状调用链路
3 核心服务治理功能
3.1 服务发布
服务发布即让一个服务升级运行新的代码的过程
难点:服务不可用/服务抖动/服务回滚
蓝绿部署/灰度发布
3.2 流量治理
在微服务架构下,我们可以基于地区、集群、实例、请求等维度,对端到端流量的路由路径进行精确控制
3.3 负载均衡
负责分配请求在每个下游实例上的分布
3.4 稳定性治理
限流/熔断/过载保护/降级
4 字节跳动服务治理实践
4.1 重试的意义
降低错误率/降低长尾延时/容忍暂时性错误/避开下游故障实例
4.2 重试的难点
幂等性/重试风暴/超时设置
4.3 重试策略
5 个人总结
课后应对服务治理实践重新温习