距离上次 APISIX v2.13 LTS 版本发布已经有两个多月的时间,以往每次 APISIX 的小版本发布,都会为大家带来新功能。然而 APISIX v2.14.1 版本发布的功能,将紧跟技术前沿,为大家带来了诸多探索性的新功能,并为 APISIX v3 版本的发布投石问路,欢迎大家探索这些新功能。
接下来我们先看下 APISIX 支持了哪些探索性的新功能。
基于 WebSocket 的 pubsub 代理框架
在 APISIX v2.14.1 版本之前,无论是代理 gRPC 请求还是普通的 HTTP 请求,APISIX 的上游都是对接的应用服务器,无法满足多元化场景需求。例如用户需要使用其他上游类型(比如 Kafka),就只能通过其他方式实现。但是在 APISIX v2.14.1 版本中,APISIX 新增了一个基于 Websocket 的消息订阅代理框架,该框架允许客户端通过 APISIX 来订阅指定消息队列(上游)中的消息。现在你可以使用 APISIX来订阅 Kafka 中的消息。
以 Kafka 为例,我们需要如下配置:
curl -X PUT 'http://127.0.0.1:9080/apisix/admin/routes/kafka' \
-H 'X-API-KEY: ${api-key}' \
-H 'Content-Type: application/json' \
-d '{
"uri": "/kafka",
"upstream": {
"nodes": {
"kafka-server1:9092": 1,
"kafka-server2:9092": 1,
"kafka-server3:9092": 1
},
"type": "none",
"scheme": "kafka"
}
}'
上述示例是在路由中添加了一个 Kafka 类型的上游,并包