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

时间:2016-07-29 20:13:35

标签: apache-kafka

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

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

更多信息:

  • 我的ELB协议是TCP / TCP
  • 我的" advertised.listeners"经纪人的财产是PLAINTEXT://(ec2-private-ip):9092

在ELB背后运行Kafka有没有运气?如果是的话,请帮帮我!

2 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:0)

恕我直言,建议不要向kafka群集添加额外的SLB。

  • Kafka集群本质上是分散的,SLB增加了单点故障风险并使集群设置复杂化。
  • 消息发送和接收是网络滞后敏感的,SLB肯定会降低消息吞吐量。