apache-kafka - Kafka在broker集群前是否支持ELB?

标签 apache-kafka

我有一个关于 AWS 上的 Kafka 代理集群的问题。现在集群前面有一个 AWS ELB,但是当我将生产者或消费者的“bootstrap.servers”属性设置为我的 ELB 的“A”记录(和正确的端口号)时,生产者和消费者无法分别生产和消费消息。我已关闭代理上的所有 SSL,并通过 PLAINTEXT 9092 端口进行连接,我的 ELB 使用该端口将端口 1234 转发到 9092。因此,例如,在我的 Producer Configs 属性中,我将拥有...

bootstrap.servers =(ELB的“A”记录):1234

更多信息:

  • 我的 ELB 的协议(protocol)是 TCP/TCP
  • 我在经纪人上的“advertised.listeners”属性是 PLAINTEXT://(ec2-private-ip):9092

  • 有人在 ELB 后面运行 Kafka 有什么运气吗?如果是这样,请帮帮我!

    最佳答案

    您可以使用 ELB 作为 bootstrap.servers ,但客户端仍然需要直接访问代理。 ELB 将用于客户端发出的初始元数据请求,以确定哪些主题分区在哪些代理上,但之后它将使用服务器的主机名(或 advertised.listeners 设置,如果您需要自定义它, ,例如在 EC2 实例上可能需要获取服务器的公共(public) IP)。

    关于apache-kafka - Kafka在broker集群前是否支持ELB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666795/

    相关文章:

    apache-kafka - 在 Kafka Streams 中的多个分区上聚合

    apache-kafka - Kafka 最小(生产)设置

    java - Spring Kafka Error Handler如何避免无限循环

    java - 如何将 Flink 中的时间窗口保存到文本文件?

    ssl - Kafka 架构注册表 - 启动架构注册表时出错 (io.confluence.kafka.schemaregistry.rest.SchemaRegistryRestApplication)

    elasticsearch - 将 Elasticsearch 与 Kafka Connect 连接时如何解决 "schema.registry.url"中的问题?

    python - Kafka 一遍又一遍地重放消息 - 心跳 session 已过期 - 标记协调器已死亡

    java - 无法从 Kafka 中的消费者向死信主题发送消息

    Spring Kafka 不尊重 max.poll.records 的奇怪行为

    scala - 我们可以在 Apache Kafka 中将 KStream 转换为全局 KTable 吗?