Apache APISIX 2.11.0 正式发布,蓄力两月带来更多新功能!

栏目: 软件资讯 · 发布时间: 4年前

内容简介:Apache APISIX 2.11.0 版本是继上次 2.10.0 LTS 版本发布后,第一个带有新功能的版本。不仅丰富了插件库,还带来了新鲜的生态支持。具体功能详情大家可以下划查看哦。 新功能 新增基于 LDAP 的认证插件 Apache A...

Apache APISIX 2.11.0 版本是继上次 2.10.0 LTS 版本发布后,第一个带有新功能的版本。不仅丰富了插件库,还带来了新鲜的生态支持。具体功能详情大家可以下划查看哦。

新功能

新增基于 LDAP 的认证插件

Apache APISIX 长长的认证插件名单上又添加了新成员——基于 LDAP的 ldap-auth 插件。通过该插件我们可以打通 LDAP 的账户体系和 Apache APISIX 的 Consumer 机制。

我们通过代码端简单进行示例展示:

curl http://127.0.0.1:9080/apisix/admin/consumers -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{    "username": "user01",    "plugins": {        "ldap-auth": {            "user_dn": "cn=user01,ou=users,dc=example,dc=org"        }    }}'

 

curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{    "methods": ["GET"],    "uri": "/hello",    "plugins": {        "ldap-auth": {            "base_dn": "ou=users,dc=example,dc=org",            "ldap_uri": "localhost:1389",            "uid": "cn"        },    },    "upstream": {        "type": "roundrobin",        "nodes": {            "127.0.0.1:1980": 1        }    }}'

在上述配置中,我们把 user01 绑定到 route 1 上。这样我们在访问 route 1 时就带上了 user01 的密码,就可以通过 LDAP 的身份认证了。

运行结果就像这样:

$ curl -i -uuser01:password1 http://127.0.0.1:9080/helloHTTP/1.1 200 OK...hello, world

新功能

可观测性层面对接更多监控体系

新版本的 Apache APISIX 丰富了对外部监控服务的支持。在这方面,我们新增了两个插件:

  • 上报指标到 datadog 的 datadog 插件

  • 上报访问日志到 Apache Skywalking 的 skywalking-logger 插件

Datadog 是海外广泛使用的 SaaS 监控服务,而 Apache Skywalking 是享誉全球的开源监控软件。如今用户只需在路由上简单配置一下,就能实现与它们的对接。

Datadog 示例:

curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{      "plugins": {            "datadog": {}       },      "upstream": {           "type": "roundrobin",           "nodes": {               "127.0.0.1:1980": 1           }      },      "uri": "/hello"}'

Apache SkyWalking 示例:

curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{      "plugins": {            "skywalking-logger": {                "endpoint_addr": "http://127.0.0.1:12800"            }       },      "upstream": {           "type": "roundrobin",           "nodes": {               "127.0.0.1:1980": 1           }      },      "uri": "/hello"}'

新功能

通过网关暴露 Azure  FaaS 函数

网关能做的不仅仅是代理内部服务,我们也可以用它来连接外部的系统。

现在通过 azure-functions 插件,就可以利用 HTTP 请求触发 Azure functions 服务上的函数了。

接下来我们将通过下方示例来展示如何把 Azure 上配置好的函数,跟 Apache APISIX 上 /azure_HttpTrigger 路由连接起来。​​​​​​​

curl http://127.0.0.1:9080/apisix/admin/routes/1 -H 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' -X PUT -d '{    "plugins": {        "azure-functions": {            "function_uri": "http://test-apisix.azurewebsites.net/api/HttpTrigger",            "authorization": {                "apikey": "<Generated API key to access the Azure-Function>"            }        }    },    "uri": "/azure_HttpTrigger"}'

对该路由的访问,等价于对 FaaS 平台上的函数调用。与此同时,我们也可以在此过程中加入鉴权、限流等对应的限制。

新功能

提供 WASM 相关支持

目前 Apache APISIX 已开始提供对 WASM 的初步支持。凭借 Proxy WASM SDK,我们可以采用 Lua 以外的语言,编写运行在 Apache APISIX 内部的插件。

有别于之前的外部插件功能,这一机制是运行在 Apache APISIX 内部的,所以在性能上相比之前会更加出色。

在 Apache APISIX 里使用 WASM 插件,就像采用 Lua 插件一样,两者都支持在路由和全局范围上生效。我们在 Apache APISIX 代码仓库里放置了一个基于 WASM 实现的 fault-injection 插件,感兴趣的读者可以看一下它跟 Lua 版本的同名插件的区别。

更多关于 Apache APISIX 支持 WASM 的技术细节可以参考:https://apisix.apache.org/zh/blog/2021/11/19/apisix-supports-wasm

目前 Apache APISIX 对 WASM 的支持还处于早期阶段,我们会在接下来的几个版本中逐渐去完善与丰富相关细节。

完善

现有插件功能更为丰富

当然,除了上述新增的多项功能,我们还完善了 Apache APISIX 现有插件功能,比如:

  • limit-req/conn/count 等插件现已支持采用一组变量作为限制时的 key

  • proxy-cache 引入基于内存的后端 

更多插件新功能与新增组件细节,可参考本次发布对应的 Change log[1]。

下载

获取最新版本的 Apache APISIX 2.11.0,可通过以下方式进行下载安装:

  • 源代码:请访问https://apisix.apache.org/downloads/

  • 二进制安装包:请访问https://apisix.apache.org/zh/docs/apisix/how-to-build/

[1]: https://github.com/apache/apisix/blob/release/2.11/CHANGELOG.md#2110

关于 Apache APISIX

Apache APISIX 是一个动态、实时、高性能的开源 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 可以帮助企业快速、安全地处理 API 和微服务流量,包括网关、Kubernetes Ingress 和服务网格等。

Apache APISIX 落地用户(仅部分)

  • Apache APISIX GitHub:https://github.com/apache/apisix

  • Apache APISIX 官网:https://apisix.apache.org/

  • Apache APISIX 文档:https://apisix.apache.org/zh/docs/apisix/getting-started


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Eloquent JavaScript

Eloquent JavaScript

Marijn Haverbeke / No Starch Press / 2011-2-3 / USD 29.95

Eloquent JavaScript is a guide to JavaScript that focuses on good programming techniques rather than offering a mish-mash of cut-and-paste effects. The author teaches you how to leverage JavaScript's......一起来看看 《Eloquent JavaScript》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具