Kafka是否在代理群集前支持ELB?

Mat*_*v92 8 apache-kafka

我对AWS上的Kafka代理群集有疑问.现在有一个AWS ELB坐在集群的面前,但是当我设置我的生产者或消费者的"bootstrap.servers"属性来我ELB的"A"记录(以及正确的端口号),兼顾生产者和消费者无法分别生成和消费消息.我已经关闭了我的代理上的所有SSL,并通过PLAINTEXT 9092端口连接,我的ELB将端口1234转发到9092.所以在我的Producer Configs属性中,例如,我将...

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

更多信息:

  • 我的ELB协议是TCP/TCP
  • 我在经纪商处的"advertised.listeners"属性是PLAINTEXT://(ec2-private-ip):9092

有没有人有幸在ELB背后运行Kafka?如果是这样,请帮帮我!

Ewe*_*ava 12

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

  • 我觉得好傻 所以它实际上是有效的,但 ELB 报告实例“停止服务”,因为健康检查失败。默认情况下,它指向我们代理上的端口 80,该端口不可“ping”。因此,ELB 从未将流量路由到任何代理。我们现在让 ELB ping 我们代理上的 Zookeeper 端口,它工作得很好!知道它必须是愚蠢的:p。谢谢您的帮助!它肯定揭示了 Kafka 的工作原理,我相信将来会帮助其他人! (2认同)