如何在代理/facade/gateway后面托管Kafka?

ljo96ir5  于 12个月前  发布在  Apache
关注(0)|答案(1)|浏览(101)

我正在做一个项目,我需要在AWS中设置一个Kafka服务器,以便我们的第三方(客户端)使用消息。目前,我计划使用MSK(AWS Kafka),但我们在这里面临一些技术问题。MSK Kafka需要暴露给公共网络,以便其他方从代理中消费。但是,我认为我们不应该把它暴露在公共网络上。Kafka应该放在代理或网关之后。
根据目前的研究,我没有看到有一种方法可以将MSK Kafka隐藏在代理/负载均衡器后面。
我们还考虑了是否可以构建一个facade微服务来作为Kafka和消费者之间的代理。我们使用SpringBoot作为后端。我在检查Spring Cloud Stream是否可以充当代理网关,但我找不到太多线索。我还读到Spring AMQP可以充当事件驱动代理,但它不支持Kafka自定义协议。
因此,我被困在这里了。有人对上述问题有什么想法吗?感谢和欣赏。

nx7onnlm

nx7onnlm1#

Github上有两个项目可以实现这一点。kafka-proxy使用TCP,Confluent的REST代理使用HTTP。
否则,当然,您可以随时编写自己的HTTP,gRPC,Spring中的任何接口来将数据转发到代理,但原生Kafka协议总是更快。此外,MSK还提供IAM身份验证,这足以保护集群免受未经授权的访问
顺便说一下,Confluent Cloud也是公共的,就像任何其他公共API一样使用证书,所以如果Kafka的创建者没有想到添加代理,我不确定它对你有什么好处

相关问题