DevOps/Kafka

[kafka] 데이터 동기화 테스트, 스프링 - 도커의 kafka 연결하기

Mini_96 2025. 2. 16. 13:22

* 스프링 - 도커의 kafka 연결하기

  • 카프카 docker를 아래와 같이 수정필요
kafka:
    image: wurstmeister/kafka
    ports:
      - "9092:9092"
    environment:
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:29092,PLAINTEXT_HOST://0.0.0.0:9092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:29092,PLAINTEXT_HOST://localhost:9092

  • 이렇게 바꾸니까 kafka-ui, kafka-connect에서 kafka에 연결하지 못했다.
  • 해결 : 도커 내부의 통신은 29092 포트사용

 

 

* test

  • 주문후 catalog db에 수량이 10개 깍여야 한다.

  • 카탈로그 서비스의 로그

100개에서 10개가 깍임

 

* 정리

  • 주문 -> 주문db에 저장 -> orderdto to json -> topic에 메시지 발행
  • 카탈로그는 해당 토픽 구독중
  • 메시지가옴 -> 카탈로그서비스에 알림 -> json to 객체 -> 카탈로그 db에 업데이트