Apache APISIX 2.9 版本正式发布!🎉 该版本有 30+ 开发者参与,共提交了 100+ PR,新增了 2 个新功能,进一步完善了对插件的支持,快来了解 Apache APISIX 2.9 版本的新特性吧!
👇👇👇
新功能:新增 authz-casbin 插件
Casbin 社区向 APISIX 贡献了 authz-casbin 插件 ,在 APISIX 2.9 新版本中,APISIX 可以结合 Casbin 做路由级别上的精细化权限管理。
Casbin 是一个开源的访问控制框架,支持通过配置来决定是否允许某个访问操作。通过 authz-casbin 插件,我们可以在一个路由里同时做多种角色的访问控制。
这一控制既可以通过配置文件设置,也可以通过 APISIX Control Plane 配置;既可以针对给定路由生效,又可以设置全局的默认值。可以说非常地灵活。
如果您对这一插件感兴趣,欢迎您移步阅读:在 Apache APISIX 中使用 Casbin 进行授权。
新功能:路由级别上 real-ip 的动态配置
APISIX 2.9 版本现在支持在路由级别上动态配置 real-ip 了!
新版本新增了 real-ip 插件,real-ip 插件可以动态地改变 APISIX 看到的客户端的 IP 和端口。
我们可以使用这个插件动态设置 real-ip 参数.
{
"plugins": {
"real-ip": {
"source": "http_x_forwarded_for",
"trusted_addresses": ["127.0.0.0/24"]
}
}
}
完善:外部插件机制
APISIX 2.9 版本进一步完善了对外部插件的支持,做出了两个较大的改动:
-
向 Plugin Runner 发送插件配置时,会发送一个唯一 key。由于 APISIX 是多进程架构,过去发送插件配置时会出现一个配置被发送几次的情况,导致 Plugin Runner 重复更新插件配置。如今,凭借这个唯一 key,Plugin Runner 可以识别重复的配置。这使得在 Plugin Runner 里面实现限流一类的插件变得可能! -
增加从 Plugin Runner 反向获取 APISIX 信息的机制。除了 APISIX 向 Plugin Runner 发送的请求头、请求路径等信息外,Plugin Runner 也可以反向从 APISIX 查询信息。目前已经在 Go Plugin Runner 的实现中,借助这一机制实现了 Var API,可以得到请求的 request_time 等跟 Nginx 变量相关的信息。
包含了这一改动的 Go Plugin Runner 将会在下周发布 0.2.0 版本,敬请期待!
完善:现有插件功能更为丰富
APISIX 2.9 版本完善了现有插件的功能,做出了两个较大的改动:
-
request-id 插件 支持通过 snowflake 算法生成 ID。snowflake ID 生成算法是一套分布式的 ID 生成机制,其生成的 ID 结合了 machine ID、时间戳和生成序列。我们通过 etcd 来保证每个 worker 都能分配到一个唯一的 machine ID。 -
error-log-logger 插件 支持上报 error log 给 skywalking,让 APISIX 的可观测性锦上添花。
下载
您可以通过以下页面下载 Apache APISIX 2.9:
关于 Apache APISIX
Apache APISIX 是一个动态、实时、高性能的开源 API 网关,提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX 可以帮忙企业快速、安全的处理 API 和微服务流量,包括网关、Kubernetes Ingress 和服务网格等。
全球已有数百家企业使用 Apache APISIX 处理关键业务流量,涵盖金融、互联网、制造、零售、运营商等等,比如美国航空航天局(NASA)、欧盟的数字工厂、中国航信、中国移动、腾讯、华为、微博、网易、贝壳找房、360、泰康、奈雪的茶等。
200 余位贡献者,一同缔造了 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
|