前言

Apisix是一个开源的API网关,它提供了一个Mock插件,可以快速熔断或降级接口。Mock插件通过模拟数据来模拟API的输出,从而使其继续运行,以便开发人员可以测试和诊断代码。如果API出现故障,Mock插件会模拟一个有意义的响应,以保持API的可用性,使其在API恢复之前继续运行。这种功能非常有用,特别是在高并发场景下,可以大大提高系统的稳定性和可用性。

教程

首先找到需要熔断或降级的接口,点击配置

image-20221219091808460

在插件配置中,找到Mocking插件,点击启用,进入配置页面

image-20221219091921404

将下面示例配置复制到数据编辑器中

{
  "content_type": "application/json",
  "delay": 0,
  "disable": true,
  "response_example": "{\"code\":0,\"data\":[],\"msg\":\"操作成功\"}",
  "response_status": 200,
  "with_mock_header": false
}
  • content_type:响应的消息类型
  • delay:响应延迟时间
  • disable:是否启用
  • response_example:响应的消息内容
  • response_status:响应返回码
  • with_mock_header:是否在响应头放入mock标志

官方文档:https://apisix.apache.org/zh/docs/apisix/2.15/plugins/mocking/

配置后点击提交,后保存路由即可生效

image-20221219092026624

参考文档

  1. mocking | Apache APISIX® – Cloud-Native API Gateway
  2. apache/apisix working mocking plugin example