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 是海外广泛使用的 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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
RuoYi-Vue 3.8.0 发布,支持 Vue3
若依前后端分离版本v3.8.0 已发布,更新日志: 新增配套并同步的Vue3前端版本 新增通用方法简化模态/缓存/下载/权限/页签使用 优化导出数据/使用通用下载方法 Excel注解支持自定义数据处理器 Excel注解支持导入导出标题信息 Excel导入支持@Excels注解 新增组件data-dict,简化数据字典使用 新增Jaxb依赖,防止jdk8以上出现的兼容错误 生产环境使用路由懒加载提升页面响应速度 修复五级以上菜单出现的404问题 防重提交注解支持配置间隔时间/提示消息 日志注解新增是否保存响应参数 任务屏蔽违规字符&参数忽略双引号中的逗号 升级SpringBoot到最新版本2.5.6 升级pagehelper到最新版1.4.0 升级spring-boot-mybatis到最新版2.2.0 升级oshi到最新版本v5.8.2 升级druid到最新版1.2.8 升级velocity到最新版本2.3 升级fastjson到最新版1.2.78 升级axios到最新版本0.24.0 升级dart-sass到版本1.32.13 升级core-js到最新版本3.19.1 升级j...
- 下一篇
每日一博 | Redis 线程模型的前世今生
一、概述 众所周知,Redis是一个高性能的数据存储框架,在高并发的系统设计中,Redis也是一个比较关键的组件,是我们提升系统性能的一大利器。深入去理解Redis高性能的原理显得越发重要,当然Redis的高性能设计是一个系统性的工程,涉及到很多内容,本文重点关注Redis的IO模型,以及基于IO模型的线程模型。 我们从IO的起源开始,讲述了阻塞IO、非阻塞IO、多路复用IO。基于多路复用IO,我们也梳理了几种不同的Reactor模型,并分析了几种Reactor模型的优缺点。基于Reactor模型我们开始了Redis的IO模型和线程模型的分析,并总结出Redis线程模型的优点、缺点,以及后续的Redis多线程模型方案。本文的重点是对Redis线程模型设计思想的梳理,捋顺了设计思想,就是一通百通的事了。 注:本文的代码都是伪代码,主要是为了示意,不可用于生产环境。 二、网络IO模型发展史 我们常说的网络IO模型,主要包含阻塞IO、非阻塞IO、多路复用IO、信号驱动IO、异步IO,本文重点关注跟Redis相关的内容,所以我们重点分析阻塞IO、非阻塞IO、多路复用IO,帮助大家后续更好的理解...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装