카프카 토픽이란?

토픽은 데이터베이스의 테이블이나 파일시스템의 폴더와 비슷한 성질을 갖고 있음.

토픽에서 프로듀서가 데이터를 넣고 컨슈머가 받아가는 형식

Untitled

무슨 데이터를 담는지 명확하게 하면 유지보수에 용이!

하나의 토픽은 여러개의 파티션을 가질 수 있고 하나의 파티션은 큐와같이 데이터가 쌓이게 됌!

컨슈머가 record를 가져가도 데이터는 삭제되지 않는다!

이 파티션에 남은 데이터는 새로운 컨슈머가 붙었을 경후 0번부터 가져갈 수 있음!

파티션이 여러개 일경우, hash값에 따라 넣거나 round robin형식으로 넣을 수 있는등 여러가지 방법이 있음

파티션을 늘리는건 가능하지만 파티션을 줄일 순없어서 늘릴때는 항상 조심해야함

그럼 왜 늘릴까? 컨슈머 그룹을 늘려서 데이터 처리를 분산시킬 수 있음!

그럼 파티션의 데이터들은 언제 제거되나? 이건 설정에 따라 다르다

log.retention.ms: 최대 record 보존 시간