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

75 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第5篇笔记

今天这节课老师从宏观的角度剖析了微服务架构下的服务治理

架构的多种模式

  1. 单体架构
  2. 垂直应用架构
  3. 分布式架构
  4. SOA架构
  5. 微服务架构 现在市面上采用的较多架构

微服务架构的核心要素

  1. 服务治理
  2. 可观测性
  3. 安全性

引入一个新的设计架构思想会有很多的有点,同时也有一定的缺陷
选择微服务架构的的优势:\

  1. 开发的效率提高
  2. 服务拆分,职责明确
  3. FaultTolerance
  4. Latency

微服务内的精华设计就是“服务间的通信”以及“服务注册及发现” 一般不要将配置与代码耦合,也不要写死服务地址和端口

微服务内的流量特征

  1. 统一的Gateway
  2. 服务内网采用RPC通信
  3. 内网的服务是多级链式调用的

服务治理:

  1. 服务的发布 在发布的过程中需要避免的三个问题 1.服务不可用,2.服务抖动,3.服务回滚

  2. 蓝绿部署 保证服务的稳定与可用,但是需要两倍的服务器资源

3.灰度发布,也叫做金丝雀发布 特点就是一个实例一个实例的上线服务。这样的发布模式使得我们对流量的控制可以十分精确。

LoadBalance: 1.LB的意思就是将请求合理的分配到下游的服务器上 常见的LB策略有:随机 RoundRobin 哈希环 LeastRequesr

稳定性治理 逻辑上发生了不可用,例如 网络攻击,流量突增
物理上发生了不可用,例如 机房断电,光纤挖断 机房相关物理设备故障

应对措施 限流 熔断 降级 OverLoading Protect

BD中微服务治理 重试 ReTry,前提是这次请求是幂等的,也要防止重试风暴 重试可以降低错误率 降低长尾延迟 可以容忍暂时性的错误(网络突然抖动了) 避开下游发散故障的服务器