브로커5 기본기있는-카프카깡패 (5) 카프카 브로커 설치하기 계속되는 브로커 설치 시 오류로 인해... 우선 스겜 해보겠다는 마음으로 confluent의 카프카 이미지를 사용하기로 했다...구성도아래 처럼 docker 안에서 zk-net이라는 bridge 네트워크를 만들고 주키퍼 3대 + 브로커 1대 구성으로 테스트 해볼 것이다.📦 Host Machine (Docker)│├── 🐳 Container: zookeeper-1│ - 내부 포트: 2181│ - 외부 포트: 2181│ - ZOO_MY_ID: 1│ - 서버 ID: server.1│├── 🐳 Container: zookeeper-2│ - 내부 포트: 2181│ - 외부 포트: 2182│ - ZOO_MY_ID: 2│ - 서버 ID: server.2│.. DevOps/Kafka 2025. 4. 7. 기본기있는-카프카깡패 (2) 1.2 카프카 입문 카프카는 메시지 발행/구독 시스템1.2.1 메시지와 배치메시지: 데이터의 기본 단위키: 메시지를 저장할 파티션을 결정하기 위해 사용됨.카프카는 효율성을 위해 메시지를 배치 단위로 저장함.배치 크기가 커질수록 시간당 처리되는 메시지 수는 늘어나지만,각각의 메시지가 전달되는 데 걸리는 시간은 늘어남.1.2.2 스키마가장 간단한 건 JSON, XML단점: 타입 처리 기능, 스키마 버전 간의 호환성 유지 기능이 떨어짐Avro조밀한 직렬화 제공메시지 본체와 스키마를 분리하기 때문에 스키마 변경 시에도 코드 생성이 필요 없음강력한 데이터 파이핑스키마 변경에 따른 상/하위 호환성 제공1.2.3 토픽과 파티션토픽: 메시지 분류 단위DB에서는 테이블과 유사, 파일시스템에서는 폴더와 유사파티션커밋로그 관점에서 하나의 로그.. DevOps/Kafka 2025. 3. 31. [CCAAK] Broker 개념 노트 v1.0 ✅ Kafka Broker 이해하기Kafka broker는 Apache Kafka 클러스터 내에서 데이터를 수신, 저장, 전송하는 서버이다. Kafka 생태계의 핵심 컴퓨팅 노드이며, 메시지를 불변한 순서로 저장하는 topic partition (로그 파일) 을 갖고 있음.📌 Broker의 기본Broker: 여러 개의 partition에 데이터를 저장하며, producer와 consumer 간 메시지 전달을 중계하는 서버임. Broker ID: 각 Kafka broker는 고유한 정수형 ID로 식별됨. Bootstrap Server: 모든 Kafka broker는 bootstrap server로 동작함. 클러스터 전체에 접근하기 위해서는 하나의 broker에만 연결하면 됨. Cluster: 여러 .. DevOps/Kafka 2025. 3. 24. [카프카] 멱등성(idempotence) 프로듀서란? 도입지우(프로듀서)가 하는 말을 포켓몬(컨슈머)이 알아들을 수 없어서,배틀필드에서 차례대로 시리(브로커)가 포켓몬어로 번역해준다고 하자.호기롭게 외쳤고, 시리도 들었지만 시리가 통신 오류로 "네 알겠습니다 주인님"을 못했다.지우가 중꺾마 정신으로 다시 "포켓몬의 백만볼트"를 외치니, 시리는 이제 "포켓몬의 백만볼트"를 두번 삐까츄에게 전달해주고,삐까츄는 그렇게 탈진해버렸다는 슬픈 이야기...그렇다면, 어떻게 해야 삐까츄에게 같은 명령이 여러 번 전달되지 않게 할 수 있을까?프로듀서의 전달방식프로듀서가 브로커에게 명령을 전달하는 방식에는 아래의 세 가지가 있다.at least once: 적어도 한번 이상 전달 (기본 프로듀서의 동작 방식이며, 데이터가 유실되지 않지만, 이 경우 위 사례처럼 두 번이상 적재.. DevOps/Kafka 2024. 9. 17. [카프카 프로그래밍] 브로커의 역할 1️⃣ 컨트롤러다수 브로커 중 한대가 컨트롤러의 역할을 해서 헬스체크하고 비정상이면 빠르게 클러스터에서 빼내기.2️⃣ 컨슈머 오프셋 저장어느 레코드까지 가져갔는지 확인하려고 오프셋 커밋. _consumer_offsets 토픽에 저장이건 언제보냐? 장애 났을 때 어디까지 토픽 저장됐는 지 확인할 때 본다.3️⃣ 그룹 코디네이터파티션을 컨슈머와 매칭되도록 분배.컨슈머가 보통 1:1 처리 중인데 만약 컨슈머가 장애나서 빠지면 파티션을 정상 컨슈머로 할당해서 한 컨슈머가 여러 파티션 처리하게 우선 리밸런스함.4️⃣ 데이터의 저장카프카를 실행할 때 config/server.properties의 log.dir 옵션에 정의한 디렉토리에 데이터를 저장하는데 토픽 이름과 파티션 번호의 조합으로 하위 디렉토리를 생성하여 .. DevOps/Kafka 2024. 6. 23. 이전 1 다음