Kong 2.2 正式发布!

原文链接: https://konghq.com/blog/kong-gateway-2-2-released/

我们很高兴地宣布,我们的旗舰级开源API网关2.2版本正式发布了! 自Kong Gateway 2.1发布以来,这三个月可谓忙得不可开交! 我们在2.1系列中推送了许多补丁版本,我们举办了第一次全数字化的Kong峰会,当然,我们也一直在忙于构建新的功能,现在这些功能已经在Kong Gateway 2.2中发布了!

与我们在2.1系列中所做的类似,我们也发布了Kong Enterprise 2.2的Beta版本,包含了Kong Gateway 2.2的所有功能。你可以在这里了解更多关于Kong Enterprise和它的附加功能。

现在,让我们直接跳进Kong Gateway 2.2的亮点。

支持UDP

长期以来,Kong不仅支持使用REST和gRPC API的HTTP/HTTPS 请求,还支持原始TCP流,以解决多种协议的网关用例。在2.2版本中,我们继续秉承Kong的使命,支持各种数据,现在我们的支持范围也扩展到了基于UDP的协议。UDP 的应用范围很广,从音频/视频流和游戏服务器到金融服务,因此这为 Kong 的使用提供了广泛的新可能性。

Kong Gateway 2.2对UDP的支持包括代理、负载均衡和运行插件,为用户提供了已有的类似于TCP的UDP功能。使用Kong进行UDP数据的负载均衡将会特别有趣,因为UDP中没有固有的连接,所以Kong可以确保传入的数据包在上游服务中保持一致的平衡,确保这些服务中缓存的最佳使用。

要想看到UDP支持的实际效果,请看这段由Kong工程师孙大同在Kong Online Meetup上介绍的演示视频。

https://youtu.be/POD2ag-Huj0

Go插件的扩展功能

如果您正在使用 Go 为 Kong 构建自定义插件,我们有一个好消息要告诉您! 自从我们在 Kong 2.0 中添加了 Go 支持后,我们听取了您的反馈,并扩大了从 Go 代码中访问 Kong 功能的范围。

以前,Kong中的Go支持只涵盖读取请求数据。现在,当运行 Go 插件时,Kong 会读取上游响应,并通过一个新的响应回调将其呈现给 Go 插件。例如,这允许你从上游服务的响应中读取头信息,并根据这些数据执行自定义插件逻辑。

配置请求和响应缓冲

在 Kong 2.2 中,您现在可以配置是否启用或禁用每个路由的请求和响应的缓冲。以前,这是一个静态配置,需要修改模板文件,是一个全有或全无的命题,现在可以通过简单地在路由中设置配置属性来动态完成。

这些新的属性允许你更好地调整Kong对每个端点的缓冲行为,以确保最佳的延迟,特别是对于处理大的有效载荷的端点。

关于这个功能的演示,请看Kong工程师Aapo Talvensaari在Kong Online Meetup上介绍这个功能

支持自动加载OS证书

另一个根据用户反馈建立的功能是一个新的选项,用于自动加载预装在操作系统中的证书,现在,用于设置证书文件的配置选项可以接受多条,而且还可以接受与操作系统捆绑的证书文件路径相匹配的特殊值。现在,设置要使用的证书文件的配置选项可以接受多个条目,也可以接受一个与操作系统捆绑的证书文件路径相匹配的特殊值

这样一来,在开放互联网中支持HTTPS服务的同时,还可以实现内部服务的自定义证书,在操作上就方便多了。下面是Kong工程师Enrique García Cota在我们最近的在线见面会上详细讨论这个功能的视频

Kong 2.2中的其他改进和修复。

  • 根据路径来限制速率:现在可以使用URL路径作为标准来维护单独的速率限制计数,而不必为每个路径创建单独的Route
  • 从数据库中删除了目标历史记录:在进行负载均衡时,Kong不再需要维护上游目标过去的变化历史,以保持一致的哈希。这消除了定期清理目标数据库的需求,改善了无 DB 场景下的一致散列行为,也意味着 Targets 的 Admin API 现在的行为更接近于其他实体的行为,例如,像往常一样支持 PATCH 和 DELETE 方法。
  • 用于代理每个上游的客户端证书:在Kong 2.1中,上游中设置的客户端证书仅用于活动的健康检查。现在,如果一个服务中没有设置客户证书,它也可以用于代理。这允许共享同一上游的多个服务只在上游中设置一次客户端证书,简化了配置。
  • Admin API和PDK现在会遵守header文件的设置:Kong在其配置中包含一个头文件设置,允许您控制代理时Kong添加哪些头文件。现在,Admin API 和 PDK 生成的响应也会遵守此设置。
  • 对混合模式的各种改进:在Kong 2.2中,对混合模式做了一些改进,其中大部分对用户来说通常是透明的,但这些改进会使整体的场景更加流畅:控制平面和数据平面节点之间的通信现在更加高效,故障场景下节点的优雅退出得到了改进,等等。
  • 修正日志插件中的TCP和UDP支持:各种日志插件得到调整,更好地支持使用TCP和UDP服务的流媒体模式。
  • OpenResty 1.17.8.2:包括多个bug修复、功能和优化。

Kong 社区和线上见面会

一如既往,欢迎在我们的社区论坛 Kong Nation 上提出任何问题。您的反馈让我们能够更好地了解关键任务的使用案例,并不断改进Kong。

如果你想了解我们未来开发版本的一切情况,请加入我们每月的线上见面会,在那里,Konger们会介绍最新和最棒的东西,并经常提供即将推出的好东西的预览。

Happy Kong!