|SpringCloud应用在Kubernetes上的最佳实践( 二 )


本文插图

在使用上 , 针对主流框架默认提供自动适配的能力来定义需要保护的资源 , 并提供设施对资源进行实时统计和调用链路分析 。 同时 , Sentinel 也提供开放的接口 , 方便您自定义并改变规则 。
快速使用 Sentinel 的方式
除了在开源提供的方案之外 , Sentinel 已经以多种形态进入到了各种云产品的组合解决方案中 , 列举如下:
一、在 AHAS 中使用
Sentinel 现在已经是阿里云云产品 AHAS 的重要能力 , 使用方式请参考官方文档 , 相比开源的方式接入 , 云产品主要省去了繁琐的配置 , 提供了更快的接入方式 , 以及更友好的产品管控界面 , 以及更强大的能力;当然除此之外 , 最重要的是在接入和运行的过程中 , 都可以获得原厂同学的直接的支持 。
二、在容器服务 Kubernetes 集群中使用
在容器服务中我们目前做到了纯白屏和云原生的方式进行安装 , 使用方式请参考官方文档来安装所需的 pilot , 在集群中安装完 pilot 之后 , 会自动选择集群中打上了相应 AHAS 注解的 POD 进行 Sentinel Agent 的挂载 , 配置如下:
annotations: # 是否开启 AHAS 应用流控插件, on、true 表示开启, off、false表示关闭 ahasPilotAutoEnable: ''on'' # 服务名称 , 会显示在 AHAS 控制台上 ahasAppName: ''''三、在 EDAS 中使用
在 EDAS 中 , 如果选择的是部署在容器服务K8s集群或 Serverless K8s 集群中的应用支持通过重新部署来接入AHAS , 并可在EDAS内嵌的监控页面中实时监控流量规则 , 所有的配置能力都能通过一个控制台白屏化操作完成 , 全面可视化地保障您的应用可用性 , 使用方式可以参考文档 。
结尾
本文简单介绍了高可用流量防护的背景和手段 , 在熔断的场景下 , 我们理解十年的积累打磨了高可用产品 AHAS 来为 Kubernetes Spring Cloud 应用保驾护航 。 除此之外 , AHAS 高可用防护还提供以下能力:

  • 针对不稳定弱依赖的熔断降级能力 , 支持慢调用比例/异常比例策略 , 支持渐进式恢复策略 。
  • 机器维度的系统自适应保护 , 智能化调配系统流量
  • 全自动托管、高可用的集群流量控制
  • 针对 Nginx 网关及 Spring Cloud Gateway、Zuul 等 API Gateway 的网关流控
  • 针对 Istio/Envoy 集群的 Mesh 高可用防护
需要注意的是 , 流控降级的配置是需要结合容量规划、依赖梳理来做的 。 我们可以借助阿里云 PTS 等压测工具对我们的服务进行全链路压测 , 了解每个服务的最大承受能力 , 来确定流控和熔断降级的阈值 。 同时 , 业务系统需要具备实时监控的能力 , 以便实时地根据流量情况做出相应的限流降级策略调整 , 我们下面的章节中将介绍这一利器 。
本文为阿里云原创内容 , 未经允许不得转载 。


推荐阅读