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

70 阅读2分钟

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

一、课程内容

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

二、详细知识点

1、服务发布

让一个服务升级运行新的代码的过程

服务发布的难点:

  1. 服务不可用
  2. 服务抖动
  3. 服务回滚

蓝绿部署

项目逻辑分为AB组,把A组从负载均衡中摘除,进行新版本的部署,B组在此过程中继续对外服务。A组升级成功后将A组接入负载均衡并将B组从负载均衡中摘除,进行新版本的部署。最后负载均衡接入B组,升级完成。

优点:简单、稳定

缺点:需要两倍的资源

灰度发布(金丝雀发布)

灰度发布只升级部分服务,让一部分用户继续使用老版本,一部分用户开始用新版本。当用户对新版本没有反对意见,就逐步扩大范围,把所有用户都迁移到新版本上面。

2、流量治理

  • 由于某个服务崩溃,导致所有用到该服务的其他服务都无法正常工作。
  • 服务没有崩溃,但处理能力有限,当有大量突发请求到来时,大部分请求将超时。

在微服务架构下,我们可以基于地区、集群、实例、请求等维度,对端到端流量的路由进行精细化控制。

3、负载均衡

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

4、稳定性治理

限流

在请求处理速度达到设定限制后,不再接受和处理更多请求,直到原有请求处理完成,避免服务器宕机。

熔断

当请求超时或者并发数超限,返回熔断错误。

过载保护

主机资源占用过高,拒绝后续请求。

降级

当服务器由于资源不足,先服务优先级高的服务,舍弃优先级低的服务。