返回

Envoy 熔断限流实践(一)基于 Rainbond 插件实现熔断

后端

概述

Envoy 是一个高性能的、可扩展的、基于代理的服务网格。它提供了许多高级功能,包括负载均衡、服务发现、熔断和限流。熔断是一种保护微服务免受级联故障影响的有效机制。当服务出现故障时,熔断器可以快速将其与其他服务隔离,以防止故障蔓延。

Rainbond 是一个开源的云原生应用管理平台。它提供了全生命周期的应用管理能力,包括应用开发、部署、运维和治理。Rainbond 集成了 Envoy,可以使用 Envoy 的熔断功能。

基于 Rainbond 插件实现熔断

1. 安装 Rainbond

首先,需要在 k8s 集群中安装 Rainbond。

kubectl create namespace rainbond
helm repo add rainbond https://charts.rainbond.com
helm install rainbond rainbond/rainbond --namespace rainbond

2. 创建服务

在 Rainbond 控制台创建一个服务。

  1. 单击“应用管理”>“应用列表”。
  2. 单击“创建应用”。
  3. 在“应用信息”页面,输入应用名称和其他相关信息。
  4. 单击“下一步”。
  5. 在“组件信息”页面,选择要部署的组件。
  6. 单击“下一步”。
  7. 在“配置信息”页面,配置组件的配置。
  8. 单击“下一步”。
  9. 在“确认信息”页面,检查配置信息无误。
  10. 单击“创建”。

3. 安装 Envoy 插件

在 Rainbond 控制台安装 Envoy 插件。

  1. 单击“应用管理”>“应用列表”。
  2. 选择要安装插件的服务。
  3. 单击“插件管理”。
  4. 单击“安装插件”。
  5. 在“插件市场”页面,搜索“Envoy”。
  6. 单击“Envoy”插件。
  7. 单击“安装”。

4. 配置 Envoy 插件

在 Rainbond 控制台配置 Envoy 插件。

  1. 单击“应用管理”>“应用列表”。
  2. 选择已安装 Envoy 插件的服务。
  3. 单击“插件管理”。
  4. 单击“已安装插件”。
  5. 选择“Envoy”插件。
  6. 单击“配置”。
  7. 在“配置”页面,配置 Envoy 插件的配置。
  8. 单击“保存”。

5. 测试熔断

现在,可以测试熔断功能了。

  1. 在浏览器中打开 Rainbond 控制台。
  2. 单击“应用管理”>“应用列表”。
  3. 选择已安装 Envoy 插件的服务。
  4. 单击“服务管理”。
  5. 单击“端点列表”。
  6. 选择一个端点。
  7. 单击“调用”。
  8. 查看调用结果。

如果熔断功能正常工作,则会看到调用失败。