Confluent REST Proxy介绍

Confluent REST Proxy提供了 REST 接口访问 Kafka 集群。它可以很容易的生产和消费数据、查看集群的状态、不需要使用本地协议和客户端就可以管理集群。例如有些场景,从任何语言编写的任何前端app推送数据到Kafka,用一些还不支持Kafka的流处理框架消费数据,还有一些脚本管理,都可以通过 rest proxy 完成。

image-20220115100635754

REST Proxy功能

REST Proxy应该包含 生产者、消费者和命令行工具的所有方法。下面是一些当前支持的:

  • 元数据

大量元数据包括 broker、topic、partition和config,可以通过 get 获取

  • 生产者

API 接受对指定topic/partition的请求,通过一个 producer 池完成所有客户端生产者请求。

  • 消费者

消费者是持续性的有状态的,所以需要指定的 rest 代理实例,offset 提交可以自动提交或者用户显式提交。当前限制一个线程一个消费者,多个消费者可以提升吞吐量。0.9之后使用消费者组去消费指定的topic。

  • 数据格式

rest 代理可以读写 json/base64/avro/protobuf/json schema 的数据,并且这些数据以 avro、protobuf、json schema 格式注册在registry 上。

  • 集群代理和负载均衡

支持多实例负载均衡,支持多种负载均衡机制(前提是配置要正确)

  • 管理操作

增删topic,更新重置topic配置等。