2017-09-05 72 views
2

卡夫卡适合网络使用吗?可以通过互联网使用卡夫卡吗?

更确切地说,我想要的是将kafka主题公开为“公共接口”,然后外部消费者(或生产者)可以连接到它。可能吗?

如果我想在内部和外部网络中使用集群,我听说有问题,因为很难配置advertised.host.name。真的吗?

我还必须公开zookeepr吗?我认为新的消费者/制片人api不再需要这一点。

+0

我看到这个https://cwiki.apache.org/confluence/display/KAFKA/KIP-103%3A+Separation+of+Internal+and+External+traffic。不确定它是否相关 – ntysdd

回答

3

卡夫卡的有线协议是基于TCP的,可以在公共互联网上正常工作。在最新版本的Kafka中,您可以为内部和外部流量配置多个接口。生产中互联网上的卡夫卡例子包括来自Heroku,IBM MessageHub和Confluent Cloud的几种Kafka-as-a-Service产品。

如果Kafka客户端使用新的客户API,则不需要公开zookeeper。

您也可以选择将REST代理(如开放源代码Confluent REST代理)作为更友好的防火墙界面公开,因为它通过HTTP(S)运行,并且不会被大多数公司或个人防火墙阻止。

0

除了配置客户端TLS之外,代理还必须拥有我们尽量避免的公有IP。通常,对于其他服务,我们隐藏负载均衡器后面的所有内容卡夫卡可以做到这一点吗?

当您需要Java生产者客户端的高性能批处理时,我不确定托管在公共服务器上的Confluent REST代理是一个真正的选项。