国产开源API网关项目APISIX进入Apache孵化器

2024-05-18 10:11

1. 国产开源API网关项目APISIX进入Apache孵化器

 
   近几年,国内的开源热情越来越高涨,不论个人还是企业,都开始拥抱开源。从过去的使用开源,到参与开源,贡献开源,一步步的在国际开源组织中展露头角。之前,国庆期间,我们一起盘点了一些进入国际视野的顶级国产开源项目: 开源大阅兵:盘点那些走向世界的中国项目 。其中,有很加入的开源组织就是Apache基金会。  
   近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。
   
    项目名称 :APISIX
    项目地址 :https://github.com/apache/incubator-apisix/
    官方网站 :https://www.iresty.com/
    项目简介 :APISIX 是一个云原生、高性能、可扩展的微服务 API 网关。它是基于 OpenResty 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。
    为什么选择 APISIX? 
   如果你正在构建网站、移动设备或 IoT(物联网)的应用,那么你可能需要使用 API 网关来处理接口流量。
   APISIX 是基于云原生的微服务 API 网关,可以处理传统的南北向流量,也可以处理服务间的东西向流量。
   APISIX 通过插件机制,提供动态负载平衡、身份验证、限流限速等功能,并且支持你自己开发的插件。
    功能 
   更多关于APISIX的功能与使用介绍,可通过下方文档链接查看详细:
    https://github.com/apache/incubator-apisix/blob/master/doc/README_CN.md 
   

国产开源API网关项目APISIX进入Apache孵化器

2. Apache APISIX 2.12.0 发布,云原生的微服务 API 网关

  继 2.11.0 版本发布之后,Apache APISIX 也在即将到来的新春佳节,为大家带来 2022 年  第一个带有新功能的版本 。
      新功能   
     更多的 Serverless 集成  
   在上个版本里,Apache APISIX 增加了对 Azure Function 的支持。而这次新版本在功能上又加入了对更多 Serverless 厂商的支持。如今用户也可以在 Apache APISIX 中结合 AWS Lambda 和 Apache OpenWhisk,在网关上进行特定函数的暴露。
     更多的鉴权插件  
   此次的新版本,还将带来两个众人翘首以盼的新插件:  forward-auth   和   opa  。
   通过上述两个插件,将为 Apache APISIX 的鉴权功能锦上添花,给用户带来更多丰富和上手简单的鉴权操作。
     更多的日志功能  
   除了上边提到的鉴权插件,本次新版本还将带来三个新的日志插件:   google-cloud-logging    、  splunk-hec-logging   以及   rocketmq-logger  。
   从插件名称上也很容易理解,通过上述三个插件可以把日志分别发送到 Google Cloud、Splunk 和 Apache RocketMQ。未来,Apache APISIX 将会对接越来越多的日志服务商和开源 Broker,让日志处理变得更加轻松。
   同时,此次 2.12.0 版本还在日志层面支持记录响应体。与 Apache APISIX 其他功能一样,该功能也可以通过表达式进行动态开启。这样在使用中,就可以实现仅在上游返回特定的 Content-Type 和 Content-Length 时进行日志记录,不用再去顾虑全量采集响应体而带来的问题了。
   具体示例可参考下方:
     上述配置会仅在 Content-Length < 4096 且 Content-Type 为 "application/json" 才记录日志。  
   另一个跟日志紧密相关的功能,就是新版本的 Apache APISIX 已支持注册自定义变量。同时结合 APISIX 的自定义日志格式,就可以实现完全自定义上报的日志内容。即无需修改具体的日志插件,就能实现日志生成和上报的解耦合。这里我们通过一个示例进行简单演示一下。
   比如我们可以在自己的插件中注册一个    a6_route_labels     的变量: 
   并在自定义日志格式中使用它:
   假设我们的 Route 长这样:
   最终就会收到如下所示的日志:
     L4 代理支持 TLS over TCP 上游  
   在 2.12.0 版本中还引入了新的 Upstream Scheme,现在 Apache APISIX 已支持代理到 TLS over TCP 上游了。
   具体做法可参考下方,只需在 Upstream 配置中指明 Scheme 为 TLS 即可。
   至此 Apache APISIX 的 TCP 代理功能得到了 TLS 全方位的支持。此外,我们还支持在静态文件中配置 L4 代理的 Access Log: 
     更新  
      多语言插件持续完善   
   在之前版本中,Apache APISIX 已开放了对 WASM 生态的支持。而在 2.12.0 版本中,针对 WASM 生态又做了不少的更新细节。
   目前 Apache APISIX 已经支持在 header_filter 的阶段运行 WASM 代码,弥补了现有外部插件无法修改响应的不足。
   此外,我们还支持在 WASM 里面通过 Apache APISIX 这个宿主进行 HTTP 通讯。借助这一功能,我们用 WASM 也重新实现了    forward-auth    插件。该插件的功能几乎和 Lua 版本一模一样,甚至连测试用例也是在 Lua 版本上改了下名字就能通过了。
   当然,我们也没有忘记针对现有的外部插件进行更新,本次 2.12.0 版本中,Apache APISIX 已允许外部插件获取请求体。
   比如最近发布的 Java Plugin Runner 第二版就包含了这一功能。新版本的 Java Plugin Runner 还支持在运行时动态获取 APISIX 变量。
     完善  
     更多细节  
   除了上述新功能和组件外,Apache APISIX 2.12.0 版本还更新了如下功能:
   更多关于 Apache APISIX 2.12.0 的更新细节,可以查看本次发布对应的  Change log 。 
     下载  
   想要获取最新的 Apache APISIX 2.12.0 版本,可通过以下路径下载:
   源代码: https://apisix.apache.org/downloads/ 
   二进制安装包: https://apisix.apache.org/zh/docs/apisix/how-to-build/ 
    
最新文章
热门文章
推荐阅读