nty*_*sdd 2 authentication cluster-computing nat wan apache-kafka
kafka是否适合互联网使用?
更准确地说,我想要将kafka主题公开为“公共接口”,然后外部使用者(或生产者)可以连接到它。可能吗?
如果我想同时在内部和外部网络中使用群集,我会听到一些问题,因为这样很难配置advertised.host.name。真的吗?
我还必须暴露动物园管理员吗?我认为新的消费者/生产者api不再需要它。
Kafka 的有线协议是基于 TCP 的,在公共互联网上运行良好。在最新版本的 Kafka 中,您可以为内部和外部流量配置多个接口。生产中互联网上 Kafka 的示例包括来自 Heroku、IBM MessageHub 和 Confluent Cloud 的几个 Kafka 即服务产品。
如果 Kafka 客户端使用新的消费者 API,则不需要公开 zookeeper。
您还可以选择将 REST 代理(例如开源 Confluent REST 代理)公开为对客户端防火墙更友好的界面,因为它通过 HTTP(S) 运行并且不会被大多数公司或个人防火墙阻止。
由于这些原因,我个人不会通过TCP直接将Kafka服务器公开给客户端,仅举几个例子:
当然,所有这些注意事项也可以使用与Kafka服务器的TCP直接连接来正确解决,但是我个人会使用其他解决方案。
可以通过互联网公开 Kafka(事实上,这就是 Aiven 和 Instaclustr 等托管 Kafka 提供商赚钱的方式),但您必须确保它得到充分的保护。至少:
allow *端口 9092(或您配置代理侦听的任何端口)即可;只需确保其他端口已关闭即可。另一件需要记住的事情是:并非所有工具都支持 SASL/SSL 连接,有些工具实际上需要连接到 ZooKeeper 节点(在上述设置中无法访问)。确保您依赖的任何工具都使用直接与 Kafka 代理的“新”连接方式,并且不需要 Zookeeper 连接。
| 归档时间: |
|
| 查看次数: |
3844 次 |
| 最近记录: |