inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

idempotence(멱등성) 기반 중복 없이 전송 이해

카프카와 주키퍼랑 통신할때는 브로커 서버의 어느 컴포넌트를 사용해 통신하나요?

351

흰색남자

작성한 질문수 38

0

카프카와 주키퍼랑 통신할때는 브로커 서버의 어느 컴포넌트를 사용해 통신하나요?

컨수머는 컨수머 그룹 코디네이터와 통신하고,, 파티션은 파티션 리더와 통신하는데,

>> 질문 : 브로커 서버( 카프카 서버) 와 주키퍼는 어느 컴포넌트를 통해서 통신하나요?

 

머신러닝때부터 감사합니다 하하... 많이 배우고 있습니다.

Kafka 데이터 엔지니어링

답변 1

1

권 철민

안녕하십니까,

많이 배우고 계시다니 저도 뿌듯하군요.

브로커 서버와 주키퍼간에 통신이 특정 컴포넌트를 기반으로 한다기 보다는,

주키퍼는 디렉토리 트리 기반의 node를 여러개의 모든 브로커들이 모니터링하고 있다가 변경사항이 발생하면 이를 통보받아서 처리하는 로직으로 되어 있습니다.

가령 컨트롤러 브로커를 정할 때 최초 컨트롤러 브로커는 zookeeper의 /controller 노드에 지정되게 됩니다. 그리고 다른 브로커들도 주키퍼에 /controller 노드를 생성하려고 하지만 이미 해당 노드가 생성되었다는 오류 메시지를 받게 됩니다.

이후에 다른 브로커들은 Zookeeper watch를 통해서 이 노드를 모니터링하게 되고, 해당 노드에 변경사항이 발생하면 주키퍼로 부터 변경사항을 통보받고 /controller 노드에 등록하고 컨트롤러 브로커가 되려는 시도를 합니다.

예를 들어 기존 컨트롤러 브로커가 특정 시간동안 응답이 없으면 주키퍼는 /controller 노드를 삭제하고 변경 사항은 Zookeeper watch를 통해 다른 브로커에 전송됩니다. 그리고 주키퍼에 첫번째 controller 노드를 생성하는 브로커가 컨트롤러 브로커가 됩니다.

브로커와 주키퍼는 이런 메커니즘으로 동작하는데, 이걸 어떤 특정 컴포넌트가 전담해서 하는지는 저도 잘 모르겠습니다(문서에도 나오지 않습니다)

감사합니다.

0

흰색남자

감사합니다!!!!

강의가 부족한 것이 아니라, 누구나 쉽게 이해할 수 있도록 매우 단순하게 설계된 것입니다.

0

22

0

소스 코드 자료를 다운을 받았는데 압축 파일에 문제가 생긴 것 같습니다.

0

674

1

application.yml args에러발생이유

3

713

1

mac os ) zip 파일 dataframe 오류

0

666

1

카프카 ISR 개념 부분 질문

0

484

1

스프링 시큐리티 문의 (webSecurityConfigurerAdapter 취소선)

0

1845

1

catalog 테이블 자동 create-drop 가 안됩니다.

0

1028

2

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

0

903

1

H2 최신 버전 사용 시 server mode 사용에 따른 application.yml 파일 설정(테이블은 생성됐는데 data.sql INSERT 안될 시 참고)

13

1275

2

멀티브로커에서 consumer 사용하기

0

636

1

멀티 브로커에서 브로커 중지되는 문제

0

507

1

클러스터 환경구성시 replication factor 1일때 메시지전송 관련 질문

0

446

1

테스트 환경 관련 질문입니다.

1

543

1

카프카 서버기동에서 질문있습니다.

0

316

1

Sticky, RoundRobin 설정

0

528

1

안녕하세요, at Least once 관련 질문이 있습니다!

0

271

1

Consumer group 이 지정된 consumer의 auto.offset.reset

1

766

1

다음 강의 오픈 일정이 궁금합니다!

0

344

1

만약에 동시에 브로커 서버가 주키퍼한테 리더를 요청하면 누가 리더가 되나요?

0

496

1

동기 Commit과 ConsumerNetworkClient의 Poll() 관련 질문드립니다!

0

347

1

하나의 컨슈머가 서로 다른 토픽을 subscribe하면

0

634

2

NameServer를 찾을 수가 없다고 합니다!

0

275

1

NoCommit의 경우 Offset을 어떻게 알고 요청을 하게 될까요?

0

508

1

virtual box 네트워크 설정 영상이 없어요.

0

279

1