현재 아직은 AWS에 배포하지 않은 상태입니다.
배포 전 카프카 테스트를 위해 아래의 구조에서 로드 밸런서 없이 main Server ( Localhost:8080 ), Traffic Server ( Localhost:8090 ), Kafka Server ( AWS Ec2 ) 구조로 테스트 하였습니다.
sudo apt-get update
sudo apt-get install openjdk-17-jdk
java -version
wget https://downloads.apache.org/kafka/3.6.0/kafka_2.12-3.6.0.tgz
tar xvf kafka_2.12-3.6.0.tgz
listeners와 advertised.listeners 설정
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://your_external_ip:9092
listener.security.protocol.map와 inter.broker.listener.name 설정
listener.security.protocol.map=PLAINTEXT:PLAINTEXT
inter.broker.listener.name=PLAINTEXT
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh --create --bootstrap-server 15.164.247.40:9092 --topic user-event-apply-input-topic
bin/kafka-topics.sh --create --bootstrap-server 15.164.247.40:9092 --topic user-event-apply-output-topic
bin/kafka-topics.sh --list --bootstrap-server 15.164.247.40:9092
카프카로 데이터가 정상적으로 들어 갔음을 확인 가능하다.
하지만 컨슈머에서 처리하지 못하는 문제가 발생하였다.
아래처럼 카프카 서버를 거쳐서 정상적으로 작동하는 것을 알 수 있다!!!