Apache|Apache APISIX 2.11.0 正式发布,蓄力两月带来更多新功能!
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/hello
HTTP/1.1 200 OK
...
hello, world
新功能:可观测性层面对接更多监控体系 新版本的 Apache APISIX 丰富了对外部监控服务的支持。在这方面,我们新增了两个插件:
- 上报指标到 datadog 的
datadog
插件 - 上报访问日志到 Apache Skywalking 的
skywalking-logger
插件
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": ""
}
}
},
"uri": "/azure_HttpTrigger"
}'
对该路由的访问,等价于对 FaaS 平台上的函数调用。与此同时,我们也可以在此过程中加入鉴权、限流等对应的限制。
新功能:提供 WASM 相关支持 目前 Apache APISIX 已开始提供对 WASM 的初步支持。凭借 Proxy WASM SDK,我们可以采用 Lua 以外的语言,编写运行在 Apache APISIX 内部的插件。
【Apache|Apache APISIX 2.11.0 正式发布,蓄力两月带来更多新功能!】有别于之前的外部插件功能,这一机制是运行在 Apache APISIX 内部的,所以在性能上相比之前会更加出色。
在 Apache APISIX 里使用 WASM 插件,就像采用 Lua 插件一样,两者都支持在路由和全局范围上生效。我们在 Apache APISIX 代码仓库里放置了一个基于 WASM 实现的
fault-injection
插件,感兴趣的读者可以看一下它跟 Lua 版本的同名插件的区别。更多关于 Apache APISIX 支持 WASM 的技术细节可以参考:https://apisix.apache.org/zh/...
目前 Apache APISIX 对 WASM 的支持还处于早期阶段,我们会在接下来的几个版本中逐渐去完善与丰富相关细节。
完善:现有插件功能更为丰富 当然,除了上述新增的多项功能,我们还完善了 Apache APISIX 现有插件功能,比如:
- limit-req/conn/count 等插件现已支持采用一组变量作为限制时的 key
- proxy-cache 引入基于内存的后端
下载 获取最新版本的 Apache APISIX 2.11.0,可通过以下方式进行下载安装:
- 源代码:请访问https://apisix.apache.org/dow...
- 二进制安装包:请访问https://apisix.apache.org/zh/...
Apache APISIX 落地用户(仅部分)
文章图片
- Apache APISIX GitHub:https://github.com/apache/apisix
- Apache APISIX 官网:https://apisix.apache.org/
- Apache APISIX 文档:https://apisix.apache.org/zh/...
推荐阅读
- Apache多路复用模块(MPMs)介绍
- mac|mac php5.6+mongdb+Apache环境配置
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- Apache|Apache Zookeeper总结
- 从原理到操作,让你在 APISIX 中代理 Dubbo 服务更便捷
- Apache|Apache BookKeeper中数据目录分析
- 阿里云配置|阿里云配置 apache 升级https 部署
- IDEA|IDEA 中使用MAVEN Install 项目的时候 报 org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed
- 视频|视频 | Apache Pulsar 祝大家新春大吉!
- 2021|2021 Apache Pulsar 中文社区先锋奖与年度优秀案例奖出炉!