본문 바로가기
Q&A2026년 6월 2일1분 읽기

Flink 2.0 disaggregated state — checkpoint 시간이 3배 늘었습니다

윤
윤재현
조회 595댓글 4

Flink 2.0의 disaggregated state로 production 마이그레이션. RocksDB local → S3로 옮겼는데:

지표1.x2.0 disaggregated
throughput1.0x2.4x
p99 처리 지연1.0x0.32x (-68%)
checkpoint 시간30s90s
checkpoint 메모리4 GB1.2 GB

throughput·지연은 만족인데 checkpoint 시간 3배 늘어서 RPO 우려. checkpoint 빈도 줄이면 복구 시간 증가, 그대로 두면 처리 영향.

어떻게 운영하나요?

환경: Flink 2.0.2, S3, jobs 12개

댓글 4

김김영삼5개월 전

disaggregated state의 checkpoint 시간 증가는 예상된 trade-off입니다. 대신 throughput·메모리·scaling 이점이 큽니다. 운영 패턴 정리.


1. checkpoint 종류 분리 — incremental vs full


state.backend.changelog.enabled: true
state.backend.changelog.storage: filesystem
state.backend.changelog.dstl.dfs.base-path: s3://changelog/

changelog 기반 incremental checkpoint. 30초 → 8초.


2. checkpoint 주기 늘리기 — 5분 → 10분


disaggregated state는 복구 시 S3에서 즉시 fetch. 1.x 대비 복구 시간 자체가 짧음. checkpoint 주기 늘려도 복구 RTO 영향 작음.


execution.checkpointing.interval: 10min
execution.checkpointing.timeout: 5min
execution.checkpointing.max-concurrent-checkpoints: 1

3. checkpoint concurrent 처리


2.0에서 checkpoint와 처리가 더 잘 분리. unaligned checkpoint로 backpressure 영향 최소화.


execution.checkpointing.unaligned: true
execution.checkpointing.alignment-timeout: 30s

4. S3 endpoint 최적화


S3 multi-part upload size 늘리고 concurrent 증가:


fs.s3a.multipart.size: 64MB
fs.s3a.fast.upload.buffer: disk
fs.s3a.threads.max: 200

5. S3 vs S3 Express One Zone


같은 region S3 Express(낮은 지연, 1/3 시간) 사용 검토. 비용 +30%이지만 checkpoint 90s → 22s.


운영 권장



  1. changelog enable (1번) — 즉시 적용

  2. unaligned + 주기 늘리기 (2,3번)

  3. S3 endpoint 튜닝 (4번)

  4. 여전히 부족하면 S3 Express (5번)


저희는 1+2+3 적용 후 30초 → 12초. 복구 RTO도 3분 → 1.5분으로 단축. RPO는 10분이 충분합니다.

서서버지기영호5개월 전

changelog state backend가 답입니다. 처음 도입 시 안정성 약간 우려했지만 6개월 운영 사고 없어요. 2.0.2 정도면 production ready.

fflink_user_park(guest)5개월 전
checkpoint 시간 보다 throughput · 메모리 · scaling이 더 중요한 워크로드 많죠. trade-off 이해하고 그대로 두는 게 정답인 경우도 흔합니다. RPO 비즈니스 요구 다시 점검해보세요.
주주말프로젝트(guest)5개월 전
운영 6개월 경험인데 위에 적힌 함정 모두 거쳤습니다. 처음부터 정착 패턴 알았으면 좋았을 텐데...
Ctrl+Enter로 등록