核心服务治理功能 | 青训营笔记

90 阅读2分钟

💌 这是我参与「第五届青训营」伴学笔记创作活动的第 10 天。

🧡 本堂课重点内容

  • 服务发布
  • 流量治理
  • 负载均衡
  • 稳定性治理

🧡 知识点介绍

服务发布

💌 服务发布(deployment),即指让一个服务升级运行新的代码的过程。

服务发布的难点

  • 服务不可用:服务B升级需要让服务A先停止一下。
  • 服务抖动:服务B中的实例短暂停止升级。
  • 服务回滚:升级之后有bug需要暂停修改。

解决

  • 蓝绿发布:将服务分成两个部分,先后发布,简单、稳定,但需要两倍资源。适合在流量低的时候。
  • 灰度发布:先发布少部分实例,接着逐步增加发布比例,不需要增加资源,回滚难度大,基础设施要求高。

流量治理

💌 在微服务架构中,可以基于地区、集群、实例、请求等各个维度对端到端的流量在链路上进行精确控制。

  • 地区:请求进来通过 API gateway 将流量分到不同地区。
  • 集群:将流量分到不同集群,少量流量走测试集群,90%走正常运行集群。
  • 实例:新的机器处理更多的流量。
  • 请求:内部用户可以走测试集群。

负载均衡

💌 负载均衡(Load Balanc)负责分配请求在每个下游实例上的分布。

  • Round Robin:轮询
  • Random:随机
  • Ring Hash:一致性哈希
  • Least Request:最少请求

稳定性治理

💌 微服务架构中典型的稳定性治理功能:

  • 限流:限制服务处理的最大 QPS,拒绝过多请求。
  • 熔断:中断请求路径,增加冷却时间从而让故障实例尝试恢复。
  • 过载保护:在负载高的实例中,主动拒绝一部分请求,防止实例被打挂。
  • 降级:服务处理能力不足时,拒绝低级别的请求,只响应线上高优请求。

🧡 课程总结

💌 今天学习了服务发布、流量治理、负载均衡、稳定性治理的相关知识,受益匪浅!