연결 브로커 지정
204
작성한 질문수 7
안녕하세요
클러스터에 브로커가 100개,
토픽 A에 파티션 5개, 복제 3개
인 상황 이라고 가정하겠습니다.
프로듀서는 리더 파티션이 존재하는 브로커와 통신을 해야하는데
브로커 100개 중 리더 파티션 5개가 분배될 것인데 클라이언트 입장에서는 리더 파티션이 있는 브로커를 모릅니다.
이 때 bootstrap.servers에 100개 중 아무 브로커 2개만 적어 주면 알아서 리더 파티션이 있는 브로커를 알려주나요?
bootstrap.servers에 몇 개의 브로커를 적는게 올바른가요?
답변 2
0
안녕하세요~
프로듀서가 토픽에 레코드를 전송할 때, bootstrap.servers에는 100개 브로커중 아무 브로커 2개만 적어도 됩니다. 왜냐면 최초로 통신을 할 때 meta data를 sync하게 되는데, 이 때 필요한 정보들(리더 파티션이 위치한 브로커의 ip 등)을 가져오기 때문입니다.
bootstrap.servers에는 일반적으로 2개 이상 브로커 정보를 적는 것이 일반적입니다.
0
안녕하세요, 인프런 AI 인턴입니다.
네, 그렇습니다. Kafka 클라이언트(프로듀서나 컨슈머)는 bootstrap.servers 설정을 통해 클러스터에 연결합니다. 이때 bootstrap.servers에 명시된 브로커들은 클라이언트가 클러스터와 초기 연결을 수립하기 위해 사용됩니다. bootstrap.servers에 지정된 브로커 수는 전체 브로커 수와 상관없이 클러스터에 연결하기 위한 충분한 정보를 제공하기 위한 최소한의 브로커들로 구성됩니다. 일반적으로는 클러스터의 모든 브로커를 나열할 필요는 없으며, 몇 개의 브로커 정보만 제공해도 클라이언트가 나머지 클러스터 정보를 얻고 모든 브로커와 통신할 수 있습니다. 따라서 bootstrap.servers에 2개의 브로커 정보를 제공하는 것으로 충분합니다.
클라이언트가 bootstrap.servers를 통해 처음에 몇 개의 브로커와만 연결된 후, 클라이언트는 클러스터의 메타데이터를 가져오고 이 메타데이터에는 모든 토픽의 파티션들과 각 파티션의 리더 브로커 정보가 포함되어 있습니다. 이 정보를 바탕으로 클라이언트는 해당 리더 파티션이 위치한 브로커와 직접 통신하게 됩니다.
따라서 클라이언트 입장에서는 리더 파티션이 위치한 브로커를 명시적으로 알 필요 없이, 클러스터와의 초기 통신을 위해 임의의 브로커 몇 개만 지정하면 그 이후의 통신은 카프카가 자동으로 처리합니다.
consume 이후 lag가 줄어들지 않음
0
75
2
안녕하세요. 강의의 카프카 버전과 현재 시점의 카프카의 차이점 문의 드립니다.
0
118
2
멱등성 프로듀서 retries 관련 질문입니다.
0
99
2
채팅 서비스 개발 시 주의점이 있을까요?
0
100
2
충분히 큰 파티션 생성시 궁금증이 존재합니다.
0
88
2
KTable 키가 없는 레코드 처리
0
73
2
컨슈머 테스트 코드 작성
0
94
2
리밸런스 onPartitionRevoked이 필요한 상황
0
74
2
카프카 클러스터에서 감당 가능한 파티션(레플리카) 수 문의
0
120
2
reset offset 질문
0
77
2
KStreamJoinKTable 실행시 오류
0
78
2
auto.commit.interval.ms 옵션 관련 질문 드립니다.
0
142
2
파티션, 컨슈머 그룹, 컨슈머 관련 질문
0
117
1
java, kotlin
0
130
2
shutdownThread 에 대한 문의 입니다.
0
155
2
zookeeper실행시 오류가 발생합니다.
0
271
2
커스텀 소스 커넥터에서 Thread.sleep (1000) 은 왜 하는거에요?
0
153
2
처리량을 늘리기 위해서 파티션을 늘리고 컨슈머를 늘려야한다고 설명하셨는데요
0
181
3
파티션 개수와 컨슈머 개수의 처리량 관련 질문
0
164
2
동영상 및 이미지 처리 관련 문의 드립니다.
0
226
2
주키퍼 없이 사용 문의 드립니다.
0
303
1
kafka 를 띄우니 오류가 발생하고 종료합니다.
0
281
3
zookeeper 실행시 오류 .. 무엇을 해야 할까요?
0
220
2
파티션 추가로 해결할 수 있지만 늘어난 파티션은 줄일 수 없지 않나요?
0
192
2





