지연 허용 범위 정의 → 상태 관리 설계 → 점진적 전환으로 풀어내는 결
배치에서 스트리밍으로 전환할 때 가장 먼저 짚어야 하는 것은 지연 허용 범위(latency SLA)라고 생각합니다. 배치 파이프라인은 수십 분에서 몇 시간의 지연을 허용하는 경우가 많은데, 스트리밍 전환이 실질적으로 필요한지 아니면 배치 주기를 줄이는 것으로도 충분한지를 먼저 판단해야 합니다.
인턴 때 Kafka를 활용한 실시간 이벤트 파이프라인 구성 작업에 참여한 경험이 있습니다. 전환 과정에서 어려웠던 점은 상태 관리(stateful processing)였습니다. 배치에서는 특정 시간 범위의 데이터를 한꺼번에 처리하므로 집계가 비교적 단순하지만, 스트리밍에서는 윈도우 연산과 지연 도착 데이터 처리 방식을 별도로 설계해야 했습니다.
Flink의 이벤트 타임 윈도우와 워터마크 개념이 기존 배치 사고방식과 달라 적응이 필요했습니다.
또한 장애 시 데이터 손실 여부를 명확히 해야 한다는 점도 중요했습니다. 배치 파이프라인은 실패 시 재실행이 비교적 단순하지만, 스트리밍은 오프셋 관리와 재처리 범위를 사전에 설계해두지 않으면 복구가 복잡해집니다. 기존 배치와 신규 스트리밍 파이프라인을 병렬 운영하는 기간을 두고 결과를 비교하면서 전환하는 방식이 안전하다고 생각합니다.