KrakenD--配置文件

官方文档解释

这篇文章目前主要是按我自己看官方文档的理解的记录

配置文件的结构

主要结构

    {
        "version": 2,
        "endpoints": [],
        "extra_config": {}
    }

version

KrakenD 文件格式的版本。

    {
        "version": 2,
    }

说明:版本2:当前版本

endpoints

#网关提供的一组端点对象以及所有相关的后端和配置。这是您的 API 定义。
声明一个数组,其中endpoint包含网关提供给用户的每个(URL)。对于每个端点,您至少需要声明一个backend(数据来源)。

{
    "endpoints": [
        {
          "endpoint": "/v1/foo-bar",
          "backend": [
            {
              "url_pattern": "/foo",
              "host": [
                "https://my.foo-api.com"
              ]
            },
            {
              "url_pattern": "/bar",
              "host": [
                "https://my.bar-api.com"
              ]
            }
          ]
        }
      ]
}

说明:上面的配置声明了一个端点/v1/foo-bar,它返回合并来自两个后端的响应的结果https://my.foo-api.com/foo和https://my.bar-api.com/bar。这两个调用并行执行。

extra_config

#组件的配置。任何不是Lura 项目核心功能的东西都在配置中的唯一命名空间中声明,这样您就可以配置多个元素而不会发生冲突。extra_config存储 Lura 本身不处理的每个组件配置。
组件在其源代码中声明一个唯一的命名空间。KrakenD 在启动期间注册组件,并将在与对象内部命名空间匹配的键下找到的配置传递给组件。
KrakenD 团队构建的所有组件都使用受原始包位置启发的命名空间,因此它们可能看起来像一个 URL,但它只是一个唯一标识符,清楚地定义了原始包的位置。
extra_config可以出现在文件的根目录中,也可以出现在其他位置(或级别)中。它完全取决于每个组件的范围及其功能的性质。

该配置项可以出现的位置(它完全取决于每个组件的范围及其功能的性质):

例如,您可能希望在用户和 KrakenD
之间设置速率限制。为此,您可以将其extra_config放置在endpoints范围内。或者你可能想限制 KrakenD
和你的后端之间的连接;然后你将把它放在extra_config范围backend内。

service (根级别,全局)就是最外层的位置
endpoint内
backend内

官网有例子

 {
        "extra_config": {
          "component-1-namespace": {
            "some": "config"
          },
          "component-2-namespace": {
            "another": "config"
          }
        }
    }
发现区别:github_com 和 github.com

服务范围在其命名空间中不使用任何点(请注意github_com前面示例中的点)。是为了避免解析器出现问题,但是当extra_config放在endpoint水平甚至backend水平时,点可以出现。

应该就是在根位置不可以有点“.”

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值