2016-11-17 75 views
0

我们有两个Kafka节点,并且出于此问题范围之外的原因,希望设置负载均衡器以终止与生产者(客户端)的SSL。由负载均衡器托管的SSL证书将由客户应该本机信任的受信任/根CA进行签名。使用负载均衡器终止Kafka/SSL连接

所以连接看起来像:

Kafka Producers <---SSL/Port 9094--> Load Balancer <---TCP/Port 9092 ---> Kafka Node 

这是可以做到的,还是卡夫卡在某种程度上需要SSL直接进行设置卡夫卡服务器本身?

谢谢!

回答

1

事实证明,卡夫卡有自己的内部负载均衡协议,并且在卡夫卡客户端与其代理之间添加任何第三方均衡器会干扰此协议并导致非常奇怪的行为。

不要这样做。

我希望这样做的动机是因为我未能在客户端和代理之间正常使用SSL,并且我认为在负载平衡器中终止SSL,然后允许平衡器和代理之间的明文通信将解决我的问题。 它没有。不要这样做。

或者:

  1. 图如何获得SSL客户和经纪人之间的工作(正式卡夫卡用户邮件列表是帮助我实现这个优秀);或
  2. 不要求/不支持SSL连接;或
  3. 在您的卡夫卡前放置一个网络服务