728x90
토픽
- 토픽은 카프카에서 데이터 구분 위해 사용.
- 토픽은 1개 이상 파티션 소유
파티션
- 파티션에서 프로듀서가 보낸 데이터들이 저장되는데 이 데이터들을 레코드라 함.
- 파티션은 결론적으로 큐와 비슷하지만 차이가 있다면 큐는 데이터를 가져가면 삭제하지만 카프카에서는 삭제하지 않는다는 것.
- 그래서 여러 컨슈머 (이를 테면 하둡과 엘라스틱 서치가 있다 치자.) 들이 모두 데이터를 가져갈 수 있음.
토픽과 파티션이 배치 되는 방법
- 파티션이 5개인 토픽을 생성했을 때 보통 0번부터 라운드 로빈 방식으로 리더 파티션들이 생성.
- 카프카 클라이언트는 리더 파티션이 있는 브로커와 통신하여 데이터를 주고 받아 특정브로커에 통신이 집중되는 핫스팟 현상을 막고 선형 확장 하여 데이터가 많아져도 자연스럽게 대응.
- 위 같이 특정 브로커에 파티션이 쏠릴 때도 있는데 이런 경우 kafka-reassign-partitons.sh 명령으로 파티션 재분배 가능
이 포스팅은 모두 인프런의 [아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!를 듣고 제가 다시 볼 내용들을 정리한 포스팅입니다.

'DevOps > Kafka' 카테고리의 다른 글
[카프카 프로그래밍] 레코드 (0) | 2024.06.27 |
---|---|
[카프카 프로그래밍] 파티션 개수와 컨슈머 개수의 처리량 (0) | 2024.06.27 |
[카프카 프로그래밍] 브로커의 역할 (0) | 2024.06.23 |
[카프카 프로그래밍] 카프카 생태계와 브로커, 주키퍼 (0) | 2024.06.22 |
[카프카 프로그래밍] 아파치 카프카가 데이터 파이프라인으로 적합한 4가지 이유 (2) | 2024.06.16 |
댓글