inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

리밸런스 리스너를 가진 컨슈머 애플리케이션

리밸런스 리스너 문의드립니다.

288

아리마

작성한 질문수 76

0

강사님, 두번째 질문을 연이어 남깁니다.

카프카 컨슈머에서 리밸런스가 자주 발생하면 안좋다고 살짝 언급하셨는데요.

현재 운영중인 스프링부트 애플리케이션의 경우, 애플리케이션 내에서 @KafkaListener 를 사용하여, 컨슈머 컨테이너가 포함된 형태로 사용중입니다. 즉, 메인 애플리케이션이 컨슈머를 안고있는 셈이죠. 강의를 듣기 전까지는 생각하지 못했는데 강의를 듣다보니 컨슈머는 변경이 없는데 메인 애플리케이션의 소스배포 등의 문제로 스프링부트 애플리케이션이 재기동될 때마다 컨슈머도 리밸런스가 발생하게 될텐데, 이렇게 운영하는 것은 그리 좋은 형태가 아닐런지요. 즉, 컨슈머만 동작하는 스프링부트 어플리케이션을 별도로 나누는 것이 권장하는 방식일지 궁금합니다.

데이터 엔지니어링 Kafka

답변 1

2

데브원영 DVWY

아리마님, 답변드립니다.

메인 애플리케이션의 배포로 인해 리밸런스 발생에 대응하는 방법이 있을까요?
말씀대로 컨슈머의 변경이 없어도 메인 애플리케이션이라고 불리는 모놀리틱 애플리케이션의 배포로 인해 리밸런스가 일어나는 것은 분명히 실시간 데이터 처리에 이슈가 발생할 가능성이 있습니다. 컨슈머가 처리하는 데이터 양이 많다면 배포시 마다 리밸런스로 인해 컨슈머 랙이 발생하여 충분히 빠른 시간 안에 데이터 처리를 못할 가능성이 있기 때문입니다. 그래서 저는 되도록이면 카프카 컨슈머 애플리케이션의 경우 MSA 구조로 따로 빼서 개발/배포하는 방식을 취합니다. 이를 통해 좀 더 나은 성능 튜닝과 유연한 스케일 아웃이 가능하기 때문이죠!

카프카 ISR 개념 부분 질문

0

487

1

카프카 커넥터를 두가지 사용하는 이유

0

909

1

브로커, 토픽, 파티션관계

0

687

1

커넥트(소스), 커넥트(싱크)

1

546

1

카프카 isr 질문 있어요

0

340

1

파티션 질문 있어요

0

393

1

명령어 관련 문의드립니다.

0

436

2

토픽의 레코드가 라운드로빈으로 배정되는 방식 질문있습니다.

0

435

2

레코드에 json 형태의 데이터 넣는법 질문

0

436

2

카프카 도커로 실행

1

447

1

CCDAK 질문입니다!

0

1368

1

스트림즈 조인에 관련해서 질문드립니다.

0

307

1

min.insync.replicas에서 설정값만큼의 브로커 다운시

0

259

1

브로커로 메시지를 보낼때 null값인 경우

0

475

1

zookeeper 실행시 에러

1

788

1

온프레미스 환경 설치에 대해 질문있습니다.

0

358

1

리밸런싱 시, 메시지 중복 처리 문제

0

1074

1

강사님, Idempotence / transaction의 차이가 궁금합니다.

0

377

1

브로커 장애 발생시 질문

0

339

1

에러 핸들링과 관련하여 질문 드립니다

0

316

1

토픽 생성시 파티션이 배치되는 방법

0

367

1

질문있습니다!

0

141

1

카프카 스트림즈 에러 핸들링 질문 드립니다

0

402

1

카프카 클러스터 질문이 있습니다.

0

186

1