728x90
반응형
카프카 재처리
- 카프카를 사용하여 컨슈머에서 에러 발생하는 경우 재처리 시도를 구현해본다.
재처리 조건
- TimeOutException
- DeadLockException
DLQ 조건
- 재처리 익셉션이 아닌경우
- 재처리가 3회 초과 되었을경우
플로우
Docker 설정
kafka 띄우기
docker-compose -f ./docker-kafka.yaml up
docker-kafka.yaml
version: '2'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka:2.12-2.5.0
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
리스너 주석 해제
vi /opt/kafka/config/server.properties 해당 파일에 접근 한뒤
listeners=PLAINTEXT://:9092 해당 부분이 주석이 되어 있을것인데 주석을 해제해 주자.
# The address the socket server listens on. It will get the value returned from
# java.net.InetAddress.getCanonicalHostName() if not configured.
# FORMAT:
# listeners = listener_name://host_name:port
# EXAMPLE:
# listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://:9092
토픽 생성
토픽 확인
kafka-topics.sh --list --bootstrap-server localhost:9092
아무것도 안나옴
토픽 생성
// like-topic 생성
kafka-topics.sh --create --topic like-topic --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
Created topic like-topic. // 정상 생성시 메시지 출력됨.
// like-topic-dql 생성
kafka-topics.sh --create --topic like-topic-dlq --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
// 생성 토픽 확인
kafka-topics.sh --list --bootstrap-server localhost:9092 토픽 확인
like-topic // 조회 성공
like-topic-dql
MySql 띄우기
DB 는 shop 으로 정했습니다.
version: '3'
services:
mysql:
platform: linux/arm64
image: mysql
container_name: local-db
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: user
MYSQL_PASSWORD: user
MYSQL_DATABASE: shop
volumes:
- ./mysql-init.d:/docker-entrypoint-initdb.d
728x90
반응형
'Message Queue > Kafka' 카테고리의 다른 글
[Kafka] Error Handling Patterns (0) | 2024.06.01 |
---|---|
[Kafka] DLQ(Dead Letter Queue) (0) | 2023.09.26 |
[Kafka] docker 카프카 설치 (0) | 2023.08.18 |
[Kafka] 카프카 Error Handler 적용 (0) | 2022.12.23 |
[Kafka] 카프카 Json 데이터 주고 받기 (0) | 2022.12.23 |
댓글