微服务架构原理与治理实践 | 青训营笔记

70 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 9 天,本节课主要学习了分布式概述、系统模型、理论基础、分布式事务、共识协议以及分布式实践。

1 微服务架构介绍

1 系统架构演变历史

单体架构——垂直应用架构——分布式架构——SOA架构——微服务架构

1.2 微服务架构概览

彻底的服务化

优势:

  1. 开发效率
  2. 业务独立设计
  3. 自下而上
  4. 故障隔离 劣势:
  5. 治理、运维难度
  6. 观测挑战
  7. 安全性
  8. 分布式系统

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 个人总结

课后应对服务治理实践重新温习