kafka是否适用于互联网使用?
更具体地说,我想将kafka主题公开为"公共接口",然后外部消费者(或生产者)可以连接到它。这个可行吗?
我听说如果我想在内部和外部网络中同时使用群集,则很难配置advertised.host.name。这是真的吗?
我是否也必须暴露zookeeper?我认为新的consumer/producer api不再需要。
kafka是否适用于互联网使用?
更具体地说,我想将kafka主题公开为"公共接口",然后外部消费者(或生产者)可以连接到它。这个可行吗?
我听说如果我想在内部和外部网络中同时使用群集,则很难配置advertised.host.name。这是真的吗?
我是否也必须暴露zookeeper?我认为新的consumer/producer api不再需要。
Kafka的协议基于TCP,并且通过公共互联网可以正常工作。在最新版本的Kafka中,您可以配置多个接口用于内部和外部流量。生产环境中使用互联网的Kafka示例包括来自Heroku、IBM MessageHub和Confluent Cloud的几个Kafka即服务提供。
如果Kafka客户端使用新的消费者API,则不需要暴露zookeeper。
您还可以选择公开REST代理,例如开源的Confluent REST代理,作为更加友好的客户端防火墙接口,因为它运行在HTTP(S)上,大多数公司或个人防火墙不会阻止它。
当然,所有这些问题也可以通过TCP直接连接到Kafka服务器来正确解决,但我个人会使用不同的解决方案。
有可能将Kafka暴露在互联网上(事实上,像Aiven和Instaclustr这样的托管Kafka提供商就是这样赚钱的),但您必须确保其得到充分的安全保护。最低要求: