내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Kafka 클러스터에는 메타데이터 관리 및 조정을 담당하는 컨트롤러 브로커가 있습니다.
Kafka는 Zookeeper를 클러스터 메타데이터의 저장 및 관리 도구로 사용합니다. Zookeeper는 모든 주제, 파티션, 리더 및 복제본 정보 등을 포함한 클러스터의 상태 정보를 저장합니다.
클러스터 상태가 변경되면 Controller Broker는 변경 정보를 Zookeeper에 기록합니다.
현재 컨트롤러 브로커가 실패하면 Kafka 클러스터의 다른 브로커가 이 상황을 감지하고 Zookeeper를 통해 선택을 수행합니다.
브로커가 새 컨트롤러 브로커로 성공적으로 선출되면 Zookeeper에서 최신 클러스터 메타데이터를 읽습니다.
LogManager
Kafka 로그(log)의 저장 및 검색 관리를 주로 담당합니다.
예를 들어 생산자는 Partition0의 Leader Broker1에게 메시지를 보냅니다.LogManager
Broker1의 Partition0 로그 파일에 메시지를 씁니다.
ReplicationManager
주로 파티션 데이터의 복제 및 동기화 관리를 담당합니다.
각 파티션의 Leader와 Follower 간의 동기화는 독립적으로 수행됩니다. 즉, 각 파티션에는 자체 동기화 프로세스가 있으며 다른 파티션에 종속되지 않습니다.
각 파티션의 동기화 프로세스는 독립적이지만 각 브로커는 관리하는 각 파티션(리더 또는 팔로어)에 대해 해당 복제 스레드를 시작하며 이러한 스레드는 특정 동기화 작업을 처리합니다.
예를 들어:ReplicationManager
Broker1에 새로 작성된 메시지를 Partition0의 Follower Broker2 및 Broker3에 푸시합니다.ReplicationManager
Broker1에서 수신된 복제 요청은 Broker2 및 Broker3에서 처리되어 해당 로그 파일에 메시지를 기록합니다.
SocketServer
Kafka Broker의 구성 요소이며 네트워크 연결 및 I/O 작업 처리를 담당합니다. 클라이언트 및 다른 브로커의 연결 요청을 수락하고 처리를 위해 각 연결에 스레드를 할당하는 일을 담당합니다.
NetworkServer
Kafka 네트워크 통신 프레임워크의 핵심 부분이며 네트워크 요청을 관리하고 예약하는 역할을 담당합니다. NIO(비차단 I/O)를 사용하여 동시 네트워크 연결을 처리합니다.
Zookeeper와 통신하는 구성요소입니다.