Solution

[Apache Kafka] Topic / Partition / Record

jih0ssang 2024. 6. 24. 22:47

Topic / Partition / Record

  • Kafka는 여러 개의 Topic을 가질 수 있다.
  • Topic은 여러 개의 Partition을 가질 수 있다. (즉, 파티션이란 Topic을 분할한 것)
  • Partition은 처음 생성 이후 추가만 가능하고 줄일 수 없다.

 

왜 하나의 Topic을 여러 개의 Partition으로 분산 저장하는가?

  • 분산 저장하여 고가용성
  • 파티션을 늘렸을 때 메세지는 Round-Robin 방식으로 write
  • 하나의 파티션 내에서는 메세지 순서가 보장되지만, 파티션이 여러 개일 경우에는 순서 보장 X

 

 

레코드(Record)

  • Partition 내 Producer가 보낸 데이터 내용
  • 타임스탬프메세지 키메세지 값오프셋, **헤더**로 구성
    • 메시지 키: 메시지를 순서대로 저장 (메시지 키가 있으면 특정 파티션에 저장 가능)
  • 브로커에 한번 적재된 레코드는 수정할 수 없고 **로그 저장 기간 또는 용량**에 따라서 삭제

'Solution' 카테고리의 다른 글

[ElasticSearch] 개념  (0) 2024.06.26
[Apache Kafka] 커밋, Offset과 Lag  (0) 2024.06.24
[Apache Kafka] Consumer Group  (0) 2024.06.24
[Apache Kafka] Kafka 개념  (0) 2024.06.24