AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

Atlas Stream Processing 아키텍처

Atlas Stream Processing 의 핵심 추상화는 스트림 프로세서입니다. 스트림 프로세서는 지정된 소스의 스트리밍 데이터에서 지속적으로 작동하고 출력을 싱크에 쓰는 MongoDB 집계 파이프라인 입니다. 자세한 학습은 스트림 프로세서의 구조를 참조하세요.

스트림 처리는 스트림 처리 작업 공간에서 수행됩니다. 각 스트림 처리 작업 공간은 다음을 연결하는 Atlas 네임스페이스입니다.

  • 각각 자체 RAM 및 CPU 할당으로 실행되는 하나 이상의 스트림 프로세서.

  • 기본값 계층은 계층을 지정하지 않을 때 각 스트림 프로세서에 사용할 수 있는 메모리와 컴퓨팅 자원을 결정합니다.

  • 해당 스트림 처리 작업 공간 내에서 파드에 할당할 수 있는 최대 메모리 및 컴퓨팅 용량을 결정하는 최대 계층.

  • 클라우드 공급자 및 클라우드 리전.

  • 스트리밍 데이터의 사용 가능한 소스 및 싱크 목록을 저장하는 연결 레지스트리입니다.

  • 사용자 권한 부여를 정의하는 보안 컨텍스트.

  • 스트림 처리 작업 공간 자체에 대한 연결 문자열.

스트림 프로세서를 정의하면 이를 정의하는 스트림 처리 작업 공간에서만 사용할 수 있게 됩니다. 각 스트림 프로세서는 계층 에 따라 할당된 리소스에서 실행됩니다. Atlas Stream Processing 스트림 프로세서가 실행 동안에만 사용자에게 요금을 청구합니다.

계층 크기를 선언하지 않고 스트림 처리 프로세서를 시작하면 스트림 처리 작업 공간의 계층이 실행됩니다. 스트림 처리 작업 공간의 최대 계층까지 포함하여 모든 계층의 스트림 프로세서를 시작할 수 있습니다.

예시

기본값이 SP10, 최대 계층이 SP50myWorkspace(이)라는 스트림 처리 작업 공간에서 스트림 프로세서를 정의합니다. 계층을 지정하지 않고 프로세서를 시작하면 Atlas Stream Processing이 이를 SP10 포드에 할당합니다. 그러나 SP2부터 SP50까지의 모든 계층을 선언할 수 있으며, Atlas Stream Processing은 프로세서를 적절한 크기의 포드에 할당합니다.

연결 레지스트리는 하나 이상의 연결을 저장합니다. 각 연결은 스트림 프로세서가 외부 서비스와 상호 작용할 수 있도록 하는 네트워킹 및 보안 세부 정보의 조합에 이름을 할당합니다. 연결은 다음과 같은 동작을 나타냅니다.

  • 지정된 스트림 처리 작업 공간의 연결 레지스트리에 정의된 연결만 해당 스트림 처리 적옵 공간에서 호스팅되는 스트림 프로세서에 서비스를 제공할 수 있습니다.

  • 각 연결은 임의의 수의 스트림 프로세서를 제공할 수 있습니다.

  • 단일 연결만 지정된 스트림 프로세서의 소스 역할을 할 수 있습니다.

  • 단일 연결만 지정된 스트림 프로세서의 싱크 역할을 할 수 있습니다.

  • 연결은 원래 소스또는 싱크로 정의되지 않습니다. 지정된 연결은 스트림 프로세서가 해당 연결을 호출하는 방식에 따라 두 가지 기능을 모두 수행할 수 있습니다.

Atlas Stream Processing 멀티 테넌트 인프라에서 VM 수준으로 격리 전용 고객 컨테이너 에서 각 스트림 프로세서를 실행합니다. MongoDB 보안 및 컴플라이언스에 대한 자세한 내용은 MongoDB 보안 센터참조하세요.

Atlas Stream Processing 체크포인트를 사용하여 스트림 프로세서의 상태 캡처합니다. 각 체크포인트 에는 고유한 ID 가 있으며 스트림 프로세서 로직의 흐름에 따라 달라집니다. 스트림 프로세서의 모든 연산자가 자신의 상태 체크포인트 에 추가한 후 Atlas Stream Processing 체크포인트 커밋하여 두 가지 유형의 레코드를 생성합니다.

  • 체크포인트 ID 와 체크포인트 ID가 속한 스트림 프로세서의 유효성을 검사하는 단일 커밋 기록

  • Atlas Stream Processing이 체크포인트를 커밋하는 순간 관련 스트림 프로세서의 각 상태 저장 작업의 상태를 설명하는 레코드 집합입니다.

중단 후 스트림 프로세서를 다시 시작하면 Atlas Stream Processing은 마지막으로 커미트된 체크포인트를 쿼리하고 명시된 상태부터 작업을 재개합니다.

체크포인트는 소스 문서의 복사본이 아니라 소스 오프셋을 기록합니다. 예를 들어 Atlas Stream Processing은 변경 스트림 소스에 대한 oplog 재개 토큰과 Kafka 소스에 대한 파티션 오프셋을 저장합니다. Atlas Stream Processing이 체크포인트를 커밋한 후 소스 문서를 삭제하거나 만료하더라도 프로세서는 재개를 방해하지 않습니다.

프로세서를 다시 시작할 때 Atlas Stream Processing이 마지막 체크포인트에 저장한 oplog 재개 토큰이 소스 클러스터의 oplog에 더 이상 없으면 Atlas Stream Processing은 해당 체크포인트에서 재개할 수 없습니다. 복구하려면 resumeFromCheckpoint=false을 사용하여 프로세서를 다시 시작합니다. 이러한 위험을 줄이려면 적절한 oplog window를 사용하여 소스 클러스터를 구성합니다. oplog window를 설정하는 방법을 학습하려면 최소 Oplog Window 설정을 참조하세요.

initialSync 이(가) 활성화된 변경 스트림 $source 구성의 경우 Atlas Stream Processing은 소스 컬렉션을 복사하는 초기 동기화 단계와 일반 변경 이벤트 처리 단계 모두에 체크포인트를 생성합니다. 초기 동기화 동안 Atlas Stream Processing은 시작 oplog 위치를 기록하고 소스 컬렉션을 파티션으로 나눍답니다. 프로세서는 파티션을 통해 기존 문서를 복사한 후 복사가 완료되면 초기 기록된 위치에서 변경 이벤트를 재생합니다. Atlas Stream Processing은 초기 동기화 동안 체크포인트를 생성하며 중단이 발생하면 프로세서가 다시 시작할 수 있습니다.

Atlas Stream Processing 체크포인트 커밋한 후 Kafka 의 소비자 그룹 오프셋을 비동기적으로 업데이트합니다. When you use Apache Kafka$source로 사용하는 경우 소비자 그룹은 각 파티션에 대해 Kafka 클러스터에서 이러한 체크포인트를 커밋된 오프셋으로 추적합니다.

이러한 업데이트는 주기적으로 비동기적으로 발생하기 때문에 소비자 그룹의 커밋된 오프셋은 가장 최근의 체크포인트 보다 일시적으로 지연될 수 있습니다. 이로 인해 kafka-consumer-group CLI 도구와 같이 Kafka 에서 커밋된 오프셋을 읽는 도구의 모니터링 및 지연 지표 단기적으로 지연될 수 있습니다. 이러한 도구는 스트림 프로세서의 실제 내부 위치 '배후'에 있는 소비자 그룹 보여줄 수 있습니다.

내부 체크포인트와 커밋된 Kafka 오프셋 간의 지연 정도는 고정되어 있지 않으며 워크로드 및 구성에 따라 달라질 수 있습니다. 일반적인 워크로드에서는 몇 초 정도 소요되지만 엄격한 상한은 없습니다.

Atlas Stream Processing은 Atlas 데이터베이스 컬렉션을 데드 레터 큐(DLQ)로 지원합니다. Atlas Stream Processing이 데이터 스트림에서 문서를 처리할 수 없을 때, 문서의 내용을 처리 실패 세부 정보와 함께 DLQ에 기록합니다. 스트림 프로세서 정의에서 컬렉션을 DLQ로 설정할 수 있습니다.

DLQ 활성화에 대한 자세한 내용은 스트림 프로세서 생성을 참조하세요. Atlas Stream Processing DLQ 스키마에 대한 자세한 내용은 모니터링 가이드를 참조하세요.

스트림 프로세서는 수명 주기 전반에 걸쳐 서로 다른 상태 간에 전환됩니다. 이러한 상태를 이해하면 Stream Processing 작업을 모니터 하고 문제를 해결하는 데 도움이 됩니다.

가능한 상태는 다음과 같습니다.

상태
설명

STARTED

스트림 프로세서가 활발하게 데이터를 처리 정상적으로 작동 중입니다. 이는 프로세서가 소스의 데이터를 소비하고, 변환을 적용하고, 싱크에 쓰는 원하는 작동 상태 입니다.

STOPPED

스트림 프로세서가 수동으로 중지되었으며 데이터를 처리 있지 않습니다. 스트림 프로세서를 시작하는 방법을 학습 보려면 스트림 프로세서 시작을 참조하세요.

PROVISIONING

스트림 프로세서가 리소스를 할당하거나 인프라를 확장 프로세스 입니다.

일반적인 원인은 다음과 같습니다.

  • 추가 리소스가 필요한 새 스트림 프로세서 시작

  • 기존 리소스가 용량에 도달했을 때 작업 확장.

  • 피크 사용 기간 동안 인프라 리밸런싱

  • 워크로드 수요에 따라 트리거되는 자동 리소스 프로비저닝

  • Stream Processing 작업 공간 계층 변경으로 인해 리소스 재할당이 필요합니다.

잠재적인 영향은 다음과 같습니다.

  • 스트림 프로세서 스타트업 의 일시적 지연(일반적으로 2~5 분)

  • 전환 중 데이터 처리 잠시 중단됨

프로비저닝이 완료되면 프로세스가 자동으로 다시 시작됩니다. Atlas Stream Processing 체크포인트를 통해 상태를 보존하므로 데이터 손실이 발생하지 않습니다.

FAILED

스트림 프로세서에 오류가 발생하여 실행할 수 없습니다. 이는 사용자 오류 또는 구성 문제로 인해 발생합니다. 실패 원인 및 복구에 대한 자세한 정보는 오류 처리 및 재시도 정책을 참조하십시오.

참고

스트림 프로세서는 시스템이 리소스를 할당할 때 모니터링 대시보드에서 간헐적으로 프로비저닝 중 상태 로 나타날 수 있습니다. 이는 확장 작업 중 정상적인 동작입니다. 프로세서가 장기간(>10 분) 프로비저닝 상태 로 유지되는 경우 Stream Processing 작업 공간 리소스 제한 및 계층 구성을 확인하세요.

Atlas Stream Processing 페일오버 프로세서 형태로 고가용성 제공합니다. 페일오버 프로세서는 체크포인트 복제 사용하여 활성 스트림 프로세서를 미러링하므로 스트림 처리 작업 공간의 프라이머리 머리 리전 에서 서비스가 중단된 이벤트 최신 상태 에서 스트림 처리 원활하게 재개할 수 있습니다. Atlas Stream Processing 액티브 프로세서의 집계 파이프라인 에 대한 모든 변경 사항을 페일오버 프로세서에 자동으로 동기화합니다.

페일오버 프로세서를 사용하려면 다음을 수행해야 합니다.

  • 대상 스트림 처리 작업 공간에서 하나 이상의 페일오버 리전을 구성합니다.

  • 스트림 처리 공간과 동일한 프로젝트 내에서 페일오버 리전 에 있는 노드 로 멀티 리전 클러스터 구성합니다.

  • 페일오버 리전을 지원 하도록 스트림 처리 공간에서 연결을 구성합니다.연결을 만들 때 이 작업을 수행하거나 페일오버 리전을 지원 하도록 기존 연결을 수정할 수 있습니다.

  • 대상 스트림 프로세서에 대해 하나 이상의 페일오버 프로세서를 구성합니다. 프로세서를 만들 때 이 작업을 수행하거나 페일오버 프로세서를 사용하도록 기존 프로세서를 수정할 수 있습니다.

세 가지 유형의 페일오버 이벤트 중 하나를 시작할 수 있습니다.

유형
설명

우아한

활성 프로세서를 종료하고 체크포인트 생성 및 복사한 다음 가장 최근 체크포인트 부터 처리 다시 시작합니다.

강제

체크포인트 에서 재개하지 않고 페일오버 프로세서를 활성화합니다. 이는 단계적 페일오버 수행할 수 없는 경우에만 권장됩니다.

드라이 런

데이터를 사용하지 않고 페일오버 프로세스 테스트하여 프로덕션에 적용하기 전에 페일오버 구성의 유효성을 검사할 수 있습니다.

작업 영역을 처음 만들 때 스트림 처리 작업 영역에 대한 페일오버 리전을 만들거나 페일오버 리전을 사용하도록 기존 스트림 처리 작업 영역을 수정할 수 있습니다.

개별 프로세서, 지정된 작업 공간 내의 모든 프로세서 또는 지정된 리전 에 페일오버 가 구성된 모든 프로세서에 대해 페일오버 트리거하다 할 수 있습니다.

페일오버 프로세서는 최소 한 번 처리 시맨틱을 보장합니다.

페일오버 프로세서의 요구 사항 및 제한 사항에 대해 자세히 학습 보려면 제한 사항을 참조하세요.

페일오버 프로세서 가격에 대한 학습 은 청구 문서를 참조하세요.

Atlas Stream Processing 안정적인 스트림 처리 보장하기 위해 포괄적인 오류 처리 및 재시도 정책을 구현합니다. 시스템은 다양한 유형의 오류를 구분하고 오류 분류에 따라 적절한 재시도 전략을 적용합니다.

Atlas Stream Processing 오류를 두 가지 주요 카테고리로 분류합니다.

사용자 오류

사용자 구성, 데이터 문제 또는 Atlas Stream Processing의 제어를 벗어난 외부 서비스 문제로 인해 발생한 오류입니다. 예는 다음과 같습니다.

  • 잘못된 연결 자격 증명

  • 외부 서비스에 대한 네트워크 연결 문제

  • 처리할 수 없는 잘못된 형식의 데이터

  • 외부 리소스에 액세스할 수 있는 권한 문제

내부 오류

Atlas Stream Processing 시스템 자체 내에서 발생하는 오류로, 일반적으로 일시적인 인프라 문제나 서비스 중단으로 인해 발생합니다. 이는 Atlas Stream Processing 서비스에서 해결해야 할 책임으로 간주됩니다.

재시도 동작은 오류 분류에 따라 달라집니다.

사용자 오류 재시도 정책

  • Atlas Stream Processing 5분 동안 제한된 횟수만큼 스트림 프로세서를 다시 시작하려고 시도합니다.

  • 이 기간 내에 모든 재시도 시도가 실패하면 스트림 프로세서가 FAILED 상태 로 전환됩니다.

  • 일부 사용자 오류는 재시도할 수 없는 오류로 분류되어 즉시 프로세서 장애를 유발합니다. 예는 다음과 같습니다.

    • StreamProcessorWorkerOutOfMemory (418): 파이프라인이 계층 메모리 제한을 초과합니다.

    • StreamProcessorInvalidOptions (420): 잘못된 파이프라인 구문 또는 구성입니다.

  • start() 메서드를 호출하여 실패한 스트림 프로세서를 수동으로 다시 시작할 수 있습니다.

내부 오류 재시도 정책

  • Atlas Stream Processing 시간 제한 없이 내부 오류를 지속적으로 재시도합니다.

  • 내부 오류가 Atlas Stream Processing 엔지니어링 팀 에 경고를 트리거하다 .

  • 시스템은 내부 문제가 해결된 후 자동 재시도 메커니즘을 사용하여 프로세서를 복구합니다.

  • 스트림 프로세서 재시작 시 마지막 체크포인트 부터 자동으로 재개

스트림 프로세서에 오류가 발생하여 다시 시작해야 하는 경우 복구 프로세스 다음 단계를 따릅니다.

1

현재 상태는 체크포인트 메커니즘을 통해 유지됩니다.

2

Atlas Stream Processing 해당 재시도 정책에 따라 프로세서를 다시 시작하려고 시도합니다.

3

재시작에 성공적인 하면 프로세서는 마지막으로 커밋된 체크포인트 부터 작업을 재개합니다.

4

프로세서는 중단된 부분부터 처리 계속하여 데이터 손실이 없도록 합니다.

이 복구 프로세스 사용하면 일시적인 오류로 인해 데이터가 손실되거나 대부분의 경우 수동 개입이 필요하지 않습니다.

스트리밍 데이터 처리에서는 문서가 두 가지 타이밍 시스템의 영향을 받습니다.

  • 이벤트 시간

  • 처리 시간

Atlas Stream Processing 스트림 프로세서가 이러한 타이밍 시스템과 상호 작용 방식을 제어하기 위해 다양한 매개변수를 제공합니다.

이벤트 시간은 소스 스트림 이 문서 생성하거나 메시징 시스템(예: Apache Kafka)가 문서 수신합니다. 이는 문서 의 타임스탬프로 확인됩니다.

네트워크 지연 시간, 업스트림 처리 및 기타 요인으로 인해 특정 문서 의 이러한 시간 사이에 불일치가 발생할 수 있을 뿐만 아니라 문서가 이벤트 시간 순서와 다르게 스트림 프로세서에 도착할 수도 있습니다. 두 경우 모두 Windows에서 캡처하려는 문서를 놓칠 수 있습니다. Atlas Stream Processing 이러한 문서가 지연 도착하는 것으로 간주하여 구성한 경우 데드 레터 대기열 로 전송합니다.

이벤트 시간텀블링 Windows홉핑 Windows에서 지원되는 boundary 필드에 대해 구성 가능한 옵션입니다.

처리 시간은 스트림 프로세서가 문서를 소비하는 시간입니다. 이는 스트림 프로세서를 호스팅하는 시스템의 시계에 의해 확인됩니다.

처리 시간텀블링 Windows호핑 Windows에서 지원되는 boundary 필드에 대해 구성 가능한 옵션입니다. 이를 통해 서버 의 벽시계 시간을 기준으로 데이터를 축적하는 일종의 창 가진 파이프라인 만들 수 있습니다. 이벤트 시간 Windows 와 달리 처리 시간 Windows 서버 스트림 프로세서에 도달할 때 벽시계 시간을 기준으로 각 이벤트 타임스탬프를 할당합니다.

문서 타임스탬프와 창 경계 타임스탬프는 UTC를 기준으로 합니다. 창 구성할 때는 idleTimeout 또는 허용된 지연 시간 옵션을 지정할 수 processingTime 없습니다.

예시

5분 이벤트 시간 창으로 파이프라인을 생성합니다. 09:33의 소스 Kafka 클러스터에 이벤트가 추가됩니다. Kafka 클러스터의 일부 지연으로 인해 09:37의 스트림 프로세서에 도착합니다.

파이프라인에 5분 이벤트 시간 창이 있는 경우 이 이벤트는 09:30-09:35 창에 할당됩니다. 파이프라인에 5분 처리 시간 창이 있는 경우 이벤트는 대신 09:35-09:40 창에 할당됩니다.

워터마크는 처리 시간 을 대체하며 프로세서가 이전에 소비한 문서보다 이벤트 시간이 더 늦은 문서를 소비하는 경우에만 업데이트됩니다. Atlas Stream Processing은 파이프라인에 창 단계($tumblingWindow, $hoppingWindow 또는 $sessionWindow)가 포함되는 경우에만 워터마크를 적용합니다.

5분 Windows 로 스트림 프로세서를 구성합니다. 프로세서를 12:00에서 시작하여 처음 두 Windows 의 지속 시간이 12:00-12:0512:05-12:10이 되도록 합니다. 다음 표는 워터마크 유무에 관계없이 다양한 지연이 있는 경우 어떤 Windows 가 어떤 이벤트를 캡처하는지 보여줍니다.

이벤트 시간
처리 시간
창 시간(워터마크 없음)
창 시간(워터마크)

12:00

12:00

12:00-12:05

12:00-12:05

12:01

12:03

12:00-12:05

12:00-12:05

12:02

12:05

12:05-12:10

12:00-12:05

12:01

12:06

12:05-12:10

12:00-12:05

12:06

12:07

12:05-12:10

12:05-12:10

워터마크가 없으면 스트림 처리 작업 공간의 시스템 시계에 따라 12:00-12:05 창이 12:05에 닫히고 12:05-12:10 창이 즉시 열립니다. 따라서 소스는 12:00-12:05 동안 문서 4개를 생성했지만, 관련 창은 두 개의 문서만 캡처합니다.

워터마크를 사용하면 12:00-12:05 창 해당 점 까지 수집하는 문서 중 가장 최근 이벤트 시간(따라서 워터마크 값)이 12:03이기 때문에 12:05 에 닫히지 않습니다. 12:00-12:05 창 스트림 프로세서가 이벤트 시간이 12:05 인 문서 수집하고 워터마크를 해당 시간으로 진행한 다음 12:05-12:10 창 열 때 시스템 시계의 12:07 때까지 닫히지 않습니다. 각 창 해당 문서를 모두 캡처합니다.

Apache Kafka에서 읽을 때 Atlas Stream Processing은 모든 파티션이 워터마크를 통과할 때까지 기다립니다. 파티션이 유휴 상태가 되고 워터마크보다 늦은 타임스탬프로 이벤트를 생성하지 못하면 창이 닫히거나 결과를 출력하지 않습니다. 이를 해결하려면 유휴 파티션이 워터마크의 진행을 중단하지 않도록 partitionIdleTimeout을 설정합니다. 자세한 내용은 $source 단계(스트림 처리)를 참조하세요.

이벤트 시간과 처리 시간의 차이가 충분히 차이가 나면 워터마크가 예상 창을 닫을 만큼 진행된 후에 문서가 스트림 프로세서에 도착할 수 있습니다. 이를 완화하기 위해 Atlas Stream Processing은 워터마크를 기준으로 창 닫기를 설정된 간격만큼 지연시키는 설정인 허용 지연 시간을 지원합니다.

워터마크는 스트림 프로세서의 속성이지만, Allowed Lateness(허용 유휴 시간)은 창의 속성이며 창이 닫힐 때만 영향을 줍니다. 스트림 프로세서의 워터마크가 새 창이 열리도록 트리거하는 지점까지 적용되는 경우, Allowed Lateness(허용 유휴 시간)은 이를 막지 않고 이전 창을 열린 상태로 유지합니다.

5분 텀블링 Windows 를 사용하여 스트림 프로세서를 구성합니다. 프로세서를 12:00에서 시작하여 처음 두 Windows 의 지속 시간이 12:00-12:0512:05-12:10이 되도록 합니다. 허용 지연 시간을 2 분으로 설정했습니다.

아래 표는 스트림 프로세서가 설명된 문서를 수집하는 순서를 반영합니다.

이벤트 시간
워터마크
허용된 지연 시간
창 시간

12:00

12:00

11:58

12:00-12:05

12:02

12:03

12:01

12:00-12:05

12:01

12:04

12:02

12:00-12:05

12:05

12:05

12:03

12:00-12:05, 12:05-12:10

12:04

12:06

12:04

12:00-12:05, 12:05-12:10

12:07

12:07

12:05

12:05-12:10

워터마크가 12:05로 이동하면 12:05-12:10 창이 열립니다. 하지만 허용된 지연 간격은 2분이므로 12:00-12:05 창 내에서는 사실상 12:03에 불과합니다. 따라서 열린 상태로 유지됩니다. 워터마크가 12:07로 진행되어야만 조정된 시간이 12:05에 도달합니다. 이 시점에서 12:00-12:05 창이 닫힙니다.

기본적으로 창 동작을 처리 시간에서 분리하면 대부분의 경우 스트림 처리의 정확성이 향상됩니다. 그러나 스트리밍 데이터 소스는 유휴 기간이 길어질 수 있습니다. 이 시나리오에서 창은 워터마크가 진행되어 닫힐 때까지 기다리는 동안 유휴 기간 이전의 이벤트를 캡처하고 처리된 결과를 반환하지 못할 수 있습니다.

Atlas Stream Processing 사용하면 Windows 에 대한 유휴 시간 제한을 구성하여 처리 시간을 사용하여 이러한 시나리오를 완화할 수 있습니다. 유휴 시간 제한은 처리 시간이 열린 창 간격의 끝을 지나고 스트림 프로세서의 소스가 유휴 상태일 때 시작되는 간격입니다. 소스가 유휴 시간 제한과 동일한 간격 동안 유휴 상태로 유지되면 문서 수집과 관계없이 창 닫히고 워터마크가 진행됩니다.

3분 간격과 1분 유휴 시간 초과로 텀블링 창을 구성합니다. 다음 표는 창 간격 도중과 창 간격 이후의 유휴 시간 초과의 효과를 보여줍니다.

처리 시간
이벤트 시간 또는 상태
워터마크
창 시간

12:00

12:00

12:00

12:00-12:03

12:01

소스 유휴 상태

12:00

12:00-12:03

12:02

소스 유휴 상태

12:00

12:00-12:03

12:03

소스 유휴 상태

12:00

12:00-12:03

12:04

12:02

12:02

12:00-12:03

12:05

12:05

12:05

12:03-12:06

12:06

소스 유휴 상태

12:05

12:03-12:06

12:07

소스 유휴 상태

12:00

12:06-12:09

12:08

소스 유휴 상태

12:00

12:06-12:09

12:09

12:09

12:09

12:09-12:12

12:00-12:03 간격 동안 소스는 3분 동안 유휴 상태에 있지만 스트림 프로세서는 창의 간격 끝까지 처리 시간이 지나지 않았기 때문에 창을 닫지 않으며, 창의 간격이 끝난 후 소스가 유휴 상태를 유지하지 않습니다. 워터마크가 12:05로 진행되면 창이 정상적으로 닫히고 12:03-12:06 창이 열립니다.

소스가 12:06 에 유휴 상태가 되면 12:07 까지 유휴 상태로 유지되어 유휴 시간 제한이 트리거되고 워터마크가 12:06 로 진행됩니다.