繁体   English   中英

如何从Azure暴露kafka端点并从本地应用程序使用它?

[英]How to expose kafka endpoint from azure and consume it from onpremise application?

我正在尝试以下操作:

我曾经在天青上托管过一个卡夫卡集装箱。 当使用者处于天蓝色时,我能够从使用者向该kafka实例发送消息。

docker-compose中的Kafka配置:

kafka:
     image: confluentinc/cp-kafka:latest
     depends_on:
       - zookeeper
     ports:
     - "9092:9092"
     environment:
       KAFKA_ADVERTISED_HOST_NAME: kafka
       KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
       KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://kafka:9092
       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
       KAFKA_BROKER_ID: 1
       KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
       KAFKA_HEAP_OPTS: "-Xmx256M -Xms128M"
       KAFKA_LOG_DIRS: /var/lib/winkafka

天蓝色的生产者应用程序配置,可与kafka交流:


"Endpoint": "kafka:9092"

卡夫卡与消费者之间在天蓝色之间的交流非常完美。

现在,我想让消费者在内部使用,而不是在天蓝色。 因此,我要做的只是从azure vm公开端口9092,并将端点更新为以下内容:

在本地与Azure上的kafka对话的Producer Application Configuration:

"Endpoint": "Azure Vm's Public IP:9092"

但是,它无法从我的本地应用程序连接到Azure上的Kafka。

您能否建议我在这里做错了什么,以及如何将本地应用程序连接到在azure(或任何云)上的容器中运行的kafka?

您需要为单独的网络(内部Azure与公共IP)配置Kafka侦听器。 有关详细说明,请参见https://rmoff.net/2018/08/02/kafka-listeners-explained/

免责声明:我写了博客文章:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM