Как выставить конечную точку kafka из лазури и использовать ее из приложения onpremise? - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь сделать POC для следующего:

Я разместил контейнер с кафкой на лазури. Я могу отправлять сообщения этому экземпляру kafka от потребителя, когда потребитель находится в пределах лазури.

Конфигурация Kafka в docker-compose:

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 

Настройка приложения-производителя на Azure для общения с Кафкой:

<br>
    "Endpoint": "kafka:9092"<br>
   

Связь между кафкой и потребителем внутри лазури происходит идеально.

Теперь я хочу, чтобы потребитель был локальным, а не лазурным. Итак, я только что открыл порт 9092 из Azure VM, а также обновил конечную точку следующим образом:

Конфигурация приложения производителя на локальном компьютере для общения с kafka на лазурном:

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

Но он не может подключиться из моего локального приложения к Кафке на Azure.

Не могли бы вы подсказать, что я делаю здесь неправильно и как я смогу подключиться из локального приложения к kafka, работающему в контейнере на Azure (или в любом облаке)?

1 Ответ

0 голосов
/ 31 октября 2018

Вам необходимо настроить прослушиватель Kafka для отдельных сетей (внутренний Azure или общедоступный IP-адрес). См. https://rmoff.net/2018/08/02/kafka-listeners-explained/ для подробного объяснения.

Отказ от ответственности: я написал сообщение в блоге:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...