Kong 1.3 发布了,此版本亮点包括支持原生 gRPC 代理、上游 TLS 交叉认证,以及一系列新功能和性能改进。
原生 gRPC 代理
越来越多的用户转向微服务架构,并且希望有对原生 gRPC 代理的支持,Kong 1.3 解决了这个问题,为支持 gRPC 的基础架构带来更多可控性和可见性。路由和服务条目的协议属性现在可以设置为 grpc 或 grpcs,这对应于通过明文 HTTP/2(h2c)的 gRPC 和通过 TLS HTTP/2(h2)的 gRPC。
这一功能的关键优势在于:
简化运作流程。
为用户的 gRPC 服务添加 A/B 测试、自动重试和断路保护,以提高系统可靠性。
更具观察性。
为 gRPC 服务增强日志记录、分析与 Prometheus 集成。
上游 TLS 交叉认证
此版本在与上游服务握手时提供特定证书以提高安全性,这样做的意义包括:
能够使用证书与上游服务握手使得 Kong 在需要强大的身份验证保证的行业中更加出色,例如金融和医疗保健服务。
更高的安全性。
通过提供可信证书,上游服务将确定传入请求是由 Kong 转发的,而不是恶意客户端。
更简单的合规性。
开发者友好。
可以使用 Kong 将需要相互 TLS 身份验证的服务转换为更加开发者不相关的方法(例如,OAuth)。
此外,Kong 1.3 还开源了 Sessions 插件,此前它仅在 Kong Enterprise 中提供,该插件结合其它身份验证插件,允许 Kong 记住之前已经过验证的浏览器用户。
OpenResty 的版本升级到 1.15.8.1,该版本基于 Nginx 1.15.8。此版本在关闭上游 keepalive 连接、ARM64 架构支持和 LuaJIT GC64 模式方面带来了更好的行为。并且由于 LuaJIT 编译器生成更多原生代码,OpenResty 更有效地存储请求上下文数据,因此在密钥身份验证基线代理基准测试中,Kong 现在运行速度提高约 10%。
此版本还带来了更多更新内容,包括 Kong 的路由器现在能够通过任何请求头(不仅是主机)匹配路由、新添加的 CLI 命令可用于创建数据库内容转储到 YAML 文件中等,详情查看「阅读原文」。