【问题标题】:How to handle back pressure with Kafka REST Proxy如何使用 Kafka REST 代理处理背压
【发布时间】:2021-01-12 22:28:53
【问题描述】:

我正在创建一个向kafka-rest-proxy 发送大量数据的服务。我只是向卡夫卡发送数据(生产)。我发现 kafka-rest-proxy 很容易不堪重负并且用完 java 堆空间。我已经分配了额外的资源,甚至横向扩展了运行 kafka-rest-proxy 的主机数量,但我仍然遇到连接断开和内存问题。

我不熟悉 kafka-rest-proxy 的内部结构,但我的直觉是它正在缓冲记录并将它们异步发送到 Kafka。如果是这样,那么它有什么机制来控制背压?有没有办法对其进行配置,使其同步向 Kafka 写入记录?

【问题讨论】:

  • 出于兴趣,您的服务能否改用原生 Kafka 客户端库并直接使用 Producer API?

标签: apache-kafka confluent-platform kafka-rest


【解决方案1】:

Kafka REST 代理公开了 Java 生产者的所有功能,消费者的命令行工具。 Rest Proxy 不需要任何背压概念。

更具体地说,Kafka 能够以惊人的速度通过网络传递消息。

您需要根据您生成和使用数据的速率来扩展代理。

【讨论】:

  • 对我的 kafka 集群的吞吐量测试表明,它无法像我的生产者发送数据那样快地摄取数据。我不介意当事情变得突发时是否有一点瓶颈,但是当 kafka-proxy 失败时,它会导致更大的问题。一个更大的 Kafka 集群会带来很多费用,而且这是不可能的
猜你喜欢
  • 2018-09-29
  • 2017-05-18
  • 1970-01-01
  • 2019-06-20
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多