Apache Kafka

Kafka Record, Log & Segment 알아보기

beekei 2021. 9. 17. 11:06
반응형

Record

객체를 Producer에서 Consumer로 전달하기 위해 Kafka 내부에 byte형태로 저장할 수 있도록 직렬화/역직렬화 하여 사용한다.

  • 기본 제공 직렬화 Class : StringSerializer, ShortSerializer 등
  • 커스텀 직렬화 Class를 통해 Custom Object 직렬화/역직렬화 가능
new ProducerRecord<String, String>("topic", "key", "message");
ConsumerRecords<String, String> records = consumer.poll(1000);
for (ConsumerRecords<String, String> record : records) {
	...
}

Log & Segment

실제로 메시지가 저장되는 파일시스템 단위이다.

메시지가 저장될때는 세그먼트(segment)파일이 열려있다.

세그먼트는 시간 또는 크기 기준으로 닫힌다.

세그먼트가 닫힌 이후 일정 시간(또는 용량)에 따라 삭제(delete) 또는 압축(compact)한다.

반응형