inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

ISR(In-Sync-Replicas)

unclean.leader.election.enable=false에 대해서

548

돈가스날다

작성한 질문수 31

0

안녕하세요. 강의 중 궁금한 점이 있어 질문 드립니다.

 

리더 파티션 브로커에 장애가 발생했을 때, ISR 상태의 팔로워 파티션을 가지는 브로커가 없는 상황에서

unclean.leader.election.enable=false로 설정할 경우, 

1.

리더 파티션 브로커의 복구를 기다리는 동안 중단된다라고 하셨는데, 여기서 중단된다는 말이

해당 토픽으로 프로듀서의 데이터 쓰기와 컨슈머의 데이터 읽기가 모두 불가능해진다는 뜻인가요?

 

2.

만약 프로듀서가 데이터를 쓰는게 불가능해진다면, 예를 들어 상품 구매 이벤트 발생으로 거래 내역 데이터가 계속 실시간으로 발생하면 이런 데이터는 그동안 어디에 두어야 하나요?

(토픽이 '나 복구될 때 까지 데이터 안받을래' 이렇게 선언하더라도, 소스에서는 계속 새로운 데이터가 생성되면 그 데이터를 유실하지 않기 위해 어떻게 할지가 궁금합니다)

데이터 엔지니어링 Kafka

답변 1

6

데브원영 DVWY

돈가스날다님, 질문주신 내용 답변드립니다.

1) unclean.leader.election.enable=false로 설정할 경우 쓰기와 읽기가 중단되나요?
네 맞습니다.

2) 프로듀서의 전송이 불가하다면 그동안 생성된 데이터는 어떻게 처리하나요?
비즈니스 요구사항에 따라 다르지만 일반적으로 두가지 방식이 있을 것입니다. 첫번째는 의도적인 유실입니다. 이 경우는 데이터의 중요도가 낮을 경우 사용합니다. 두번째는 정상적은 카프카 클러스터로 데이터를 전송하는 것입니다. 데이터의 중요도가 높을 경우에는 카프카 클러스터를 하나만 사용하는 것이 아니라 DR(disaster-recovery)구성으로 최소 2클러스터를 운영하는 것이 일반적입니다. 그러므로 하나의 클러스터에 장애가 발생하여 정상적으로 데이터 처리가 불가능할 경우에는 프로듀서가 정상동작하는 다른 클러스터로 fail-over하여 데이터 처리를 지속적으로 할 수 있는 구성으로 만드는 것이 좋습니다.

카프카 ISR 개념 부분 질문

0

484

1

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

0

903

1

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

0

679

1

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

1

538

1

카프카 isr 질문 있어요

0

332

1

파티션 질문 있어요

0

390

1

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

0

427

2

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

0

427

2

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

0

431

2

카프카 도커로 실행

1

442

1

CCDAK 질문입니다!

0

1351

1

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

0

303

1

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

0

256

1

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

0

466

1

zookeeper 실행시 에러

1

784

1

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

0

352

1

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

0

1063

1

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

0

372

1

브로커 장애 발생시 질문

0

335

1

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

0

313

1

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

0

356

1

질문있습니다!

0

138

1

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

0

397

1

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

0

183

1