카프카의 토픽에는 파티션이 있습니다. 프로듀서가 레코드를 파티션에 저장하면 각 레코드에는 오프셋이라고 불리는 고유한 번호가 붙게 되는데요.
오프셋 번호가 최대값에 도달하면 어떻게 처리해야하는지 의문을 가질 수 있습니다.
오프셋 번호의 최대값에 대해서 확인해 보았는데요. 오프셋은 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를 쌓지 않는 이상 이슈는 없을 것으로 보입니다.
반응형
'빅데이터 > Kafka' 카테고리의 다른 글
특정 시점(날짜+시간)의 레코드부터 가져오도록 설정하기. (2) | 2021.03.03 |
---|---|
아파치 카프카를 데이터 레이크로 사용할 수 있을까? (1) | 2021.02.25 |
macOS에서 카프카 버로우 빌드 및 실행하기. (0) | 2020.11.29 |
카프카 커넥터 빌드시 JDK11이 아닌 JDK8로 그래들 빌드해야합니다. (2) | 2020.11.02 |
failed authentication due to: Authentication failed during authentication due to invalid credentials with SASL mechanism SCRAM-SHA-256 (0) | 2020.10.23 |
스프링 카프카 호환표 (1) | 2020.10.16 |