본문 바로가기

빅데이터/Kafka

카프카 토픽의 오프셋 최대 크기는 얼마일까?

728x90

카프카의 토픽에는 파티션이 있습니다. 프로듀서가 레코드를 파티션에 저장하면 각 레코드에는 오프셋이라고 불리는 고유한 번호가 붙게 되는데요. 

오프셋 번호가 최대값에 도달하면 어떻게 처리해야하는지 의문을 가질 수 있습니다.

오프셋 번호의 최대값에 대해서 확인해 보았는데요. 오프셋은 int64로 지정되어 있었습니다. 

private static final Field.Int64 OFFSET = new Field.Int64("offset", "The offset found");

 

자바에서 int64의 최대값은 9,223,372,036,854,775,807 입니다. 9,223,372,036,854,775,807는 하루에 1조개의 record를 쌓더라도 25,269년이 걸리는 어마어마한 값입니다. 게다가 파티션을 1개만 사용하지 않고 보통 2개 이상으로 구성하는 것을 생각해보면 하루에 1경개 이상 record를 쌓지 않는 이상 이슈는 없을 것으로 보입니다.

728x90