开源不到一个月就进入 CNCF 全景图的 APISIX, 发布了 0.7 版本

637 阅读2分钟

APISIX 是一个云原生、高性能、可扩展的微服务 API 网关。

它是基于 OpenResty 和 etcd 来实现,和传统 API 网关相比,APISIX 具备动态路由和插件热加载,特别适合微服务体系下的 API 管理。

这个版本带来很多新的特性,比如 IP 黑白名单、gPRC 协议转换、支持 IPv6、对接 IdP(身份认证提供商)服务、serverless、radix tree 路由等。

Core

  • 🌅 gRPC 协议转换: 支持 gRPC 协议的转换,这样客户端可以通过 HTTP/JSON 来访问你的 gRPC API. #395
  • 🌅 radix tree 路由: 将 radix tree 作为默认的路由器实现,支持把 uri、host、cookie、请求头、请求参数、Nginx 内置变量等作为路由的条件,并支持等于、大于、小于等常见操作符,更加强大和灵活. #414
  • 动态上游支持更多的参数,可以指定上游的 uri 和 host,以及是否开启 websocket. #451
  • 支持从 ctx.var 中直接获取 cookie 中的值. #449
  • 路由支持 IPv6. #331

Plugins

  • 🌅 serverless: 支持 serverless,用户可以把任意 Lua 函数动态的在网关节点上运行。用户也可以把这个功能当做是轻量级的插件来使用。#86
  • 🌅 IdP 支持: 支持外部的身份认证服务,比如 Auth0,okta 等,用户可以借此来对接 Oauth2.0 等认证方式。 #447
  • 限流限速支持更多的限制 key,比如 X-Forwarded-For 和 X-Real-IP,并且允许用户把 Nginx 变量、请求头和请求参数作为 key. #228
  • IP 黑白名单 支持 IP 黑白名单,提供更高的安全性。#398

CLI

  • 增加 version 指令,获取 APISIX 的版本号. #420

Admin

  • 支持 PATCH API,可以针对某个配置单独修改,而不再用提交整段配置。#365

Dashboard