4-카프카 컨슈머 카프카에서 데이터 읽기

카프카 컨슈머: 개념 컨슈머와 컨슈머 그룹 카프카 컨슈머는 보통 컨슈머 그룹의 일부로서 작동한다. 이유: 우리는 토픽으로부터 데이터를 읽어 오는 작업을 확장할 수 있어야 한다. 동일한 컨슈머 그룹에 속한 여러 개의 컨슈머들이 동일한 토픽을 구독할 경우, 각각의 컨슈머는 해당 토픽에서 서로 다른 파티션의 메시지를 받는 것이다. 컨슈머 그룹에 컨슈머를 추가하는 것은 카프카 토픽에서 읽어오는 데이터 양을 확장하는 주된 방법이다. 토픽을 생성할 때 파티션을 크게 잡아주는 게 좋은 이유: 부하가 증가함에 따라서 더 많은 컨슈머를 추가할 수 있게 해주기 때문 토픽에 설정된 파티션 수 이상으로 컨슈머를 투입하는 것은 아무 의미가 없는 점도 명심하라 새로운 컨슈머 그룹, G2를 추가하게 된다면 이 컨슈머는 G1 컨슈머 그룹에서 무엇을 하고 있든지 상관없이 T1 토픽의 모든 메시지를 받게 된다....

2025-05-26 · 11 min · 2163 words

3-카프카 프로듀서: 카프카에게 메시지 쓰기

프로듀서 개요 카프카에 메시지를 써야 하는 상황에 따라 요구사항이 다양하다. 메시지 유실이 용납되지 않는지 중복이 허용되도 상관없는지 반드시 지켜야할 지연이나 처리율이 있는지 이처럼 서로 다른 요구 조건은 카프카에 메시지를 쓰기 위해 프로듀서 API를 사용하는 방식과 설정에 영향을 미친다. 프로듀서 메시지 전송 과정 ProducerRecord 객체를 생성한다. 여기서는 레코드가 저장될 토픽과 밸류는 필수사항이지만, 키와 파티션 지정은 선택사항이다. ProducerRecord를 전송하는 API를 호출했을 때, 키와 값 객체가 네트워크 상에 전송될 수 있도록 직렬화해서 바이트 배열로 변환한다....

2025-05-19 · 12 min · 2400 words

2-카프카 설치하기

환경 설정 운영체제 선택하기 아파치 카프카는 다양한 운영체제에서 실행이 가능한 자바 애플리케이션이다. 카프카는 윈도우, macOS, 리눅스 등 다양한 운영체제에서 실행이 가능하지만, 대체로 리눅스가 권장된다. 주키퍼 설치하기 아파치 카프카는 카프카 클러스터의 메타데이터와 컨슈머 클라이언트에 대한 정보를 저장하기 위해 아파치 주키퍼를 사용한다. 주키퍼는 설정 정보 관리 이름 부여, 분산 동기화, 그룹 서비스를 제공하는 중앙화된 서비스이다. 독립 실행 서버이 가능하다. 주키퍼는 고가용성을 보장하기 위해 앙상블이라 불리는 클러스터 단위로 작동하도록 설계되었다. 주키퍼가 사용하는 부하 분산 알고리즘 때문에 앙상블은 홀수 개의 서버를 가지는 것이 권장된다....

2025-05-04 · 13 min · 2658 words

1-카프카 시작하기

데이터의 모든 부분은 의미가 있으며, 그 다음 처리되어야 하는 작업과 같이 뭔가 중요한 정보를 담고 있다. 이것이 무엇인지 알기 위해서는 데이터를 생성된 곳에서 분석할 수 있는 곳으로 옮겨야 한다. 데이터를 옮기는 작업을 빠르게 해낼 수록 조직은 더 유연해지고 더 민첩해질 수 있다. 우리가 데이터를 이동시키는 작업에 더 적은 노력을 들일수록 핵심 비즈니스에 더욱 집중할 수 있다. 발행/구독 메시지 전달 발행/구독 메시지 전달 패턴의 특징은 전송자가 데이터를 보낼 때 직접 수신자로 보내지 않는다는 것이다....

2025-05-04 · 7 min · 1444 words