代理类型升级,APISIX 支持 Kafka 作为上游

Apache Kafka 是一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据,其所有功能都是以分布式、高度可扩展、弹性、容错和安全的方式提供的。

在 Apache APISIX 2.14 版本中发布了一个新功能,即提供 Kafka 类型的上游,用户可以通过在路由中配置 scheme 为 Kafka 的上游开启 Kafka 消费者功能,从而在各种环境中实现消息订阅。

本文将介绍 Kafka 发布订阅功能及 kafka-proxy 插件的使用细节,为大家呈现如何将 APISIX 与 Kafka 结合使用在浏览器等连接受限的场景,实现对 Kafka 中消息的消费。

原理

Kafka 使用自定义的 TCP 协议实现 Broker 与消费者之间的通信。在 Apache APISIX 中,你可以通过四层代理实现这部分的代理,但对于终端用户(如浏览器等)与 Broker 通信这种无法直接使用 TCP 连接的场景,则没有办法进行很好的支持。

而现在,客户端可通过 WebSocket 连接到 APISIX,在 APISIX 内部建立与 Kafka 的连接,进而处理客户端的命令(如获取偏移量、获取消息等)。通过 WebSocket 的连接,可以避免在浏览器这种无法直接使用 TCP 连接的场景中从 Kafka 中拉取消息。

在这里插入图片描述

通过上述流程图可以看到,这里内部使用自定义的 Protobuf 协议作为通信协议,通过便捷的编译过程,使

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

API7.ai 技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值