iamabear09 / WIL

What I learned :: 공부 내용 정리 및 요약
0 stars 0 forks source link

Kafka with Docker #6

Open iamabear09 opened 9 months ago

iamabear09 commented 9 months ago

Kafka Listers

advertised.listeners

만약 설정하지 않으면, internal host 로 접근한다.

LISTENERS


1) When a client (producer/consumer) starts,

2) client will then

정리하면,

  1. Client가 any Broker에게 어느 Broker가 Leader인지에 대한 metadata를 요청한다.
  2. metadata 에는 endpoint 즉, leader broker에 접근하기 위한 정보가 들어있다.
  3. 따라서 Client는 해당 endpoint를 통해 broker와 연결한다.

Image

KAFKA_LISTENERS: LISTENER_BOB://kafka0:29092,LISTENER_FRED://localhost:9092
KAFKA_ADVERTISED_LISTENERS: LISTENER_BOB://kafka0:29092,LISTENER_FRED://localhost:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: LISTENER_BOB:PLAINTEXT,LISTENER_FRED:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER_BOB

아래와 같이 설정해도 동작한다.

KAFKA_LISTENERS: LISTENER_BOB://:29092,LISTENER_FRED://:9092
iamabear09 commented 9 months ago

kafka-docker-connection

docker compose를 통해 kafka server를 기동


새로운 container에서 kafka console producer 동작 & topic 생성

docker run -it --rm --network kafka_docker_example_net confluentinc/cp-kafka /bin/kafka-console-producer --bootstrap-server kafka:9092 --topic test_topic

kafka server container 내부에서 topic 생성

kafka-topics --bootstrap-server localhost:9092 --create --topic welcome-topic

새로운 container에서 kafka console consumer 동작

docker run -it --rm --network <network name> confluentinc/cp-kafka /bin/kafka-console-consumer --bootstrap-server kafka:9092 --topic <topic name>