我们可以为Kafka Producer分配源端口吗?

问题描述 投票:0回答:2

我注意到 Kafka Producer 使用 tcp 协议。

有没有办法提前固定多个Kafka生产者的源端口? 或者至少,有什么方法可以跟踪 Kafka 生产者的源端口吗? 我需要跟踪kafka生产者和消费者的带宽。 并且需要根据这些端口设置流量控制(tc)规则。

java apache-kafka kafka-producer-api
2个回答
1
投票

生产者不打开入站套接字,因此没有“源端口”的绑定。

您必须提供的唯一网络信息是

bootstrap.servers


0
投票

为了实现这一点,您可以使用 librdKafka 库中称为 socket_cb() 的东西 (我使用的是2.0.2版本)。 为了实现这个你需要设置 Rdkadka::Conf* globalConf = Rdkafka::Conf::create(Rdkafka::Conf::CONF_GLOBAL)

globalConf->set("socket_cb", static_castRdKafka::EventCb*(this), errstr);

现在重写socket_cb()函数

  1. getaddrinfo() //给出地址结构列表
  2. socket() 获取 FD
  3. 绑定到选定的FD

这应该可以解决上述问题。

© www.soinside.com 2019 - 2024. All rights reserved.