참고
이 페이지는 Atlas Infinite와 Atlas Core 모두에 적용됩니다.
Atlas Stream Processing에는 다음과 같은 제한 사항이 적용됩니다.
일반
Atlas Stream Processing 최소 한 번 처리 만 지원합니다.
Atlas Stream Processing 수평 확장 지원 하지 않습니다.
Atlas Stream Processing은
parallelism값을 지정할 수 있는 단계를 제외하고 변환 파이프라인 단계에 대해 단일 코어를 사용합니다.수직 자동 확장을(를) 활성화하면 프로세서에 또는 Stream Processing 작업 공간 최대 계층 크기로
maxTier을(를) 설정해야 합니다. 둘 다 설정되지 않은 경우 프로세서에서 오류가 반환되고 시작되지 않습니다.수직 자동 확장을 트리거하다 CPU 및 메모리 임계값은 구성할 수 없습니다. Atlas Stream Processing 이러한 임계값을 내부적으로 관리합니다.
스트림 프로세서의
state.stateSize는 해당 파드에서 사용 가능한 RAM 의 80%를 초과할 수 없습니다. 예시 들어 8GB 의 RAM 있는SP30계층 에서 스트림 프로세서의 최대 크기는 6.4GB 입니다. 스트림 프로세서의state.stateSize용량이 사용 가능한 RAM 의 80%에 가까워지면 프로세서를 중지하고 상위 계층 에서 다시 시작하는 것이 좋습니다. 스트림 프로세서가 이미 stream processing 작업 공간에 활성화된 최대 계층에서 실행 중인 경우, 상위 계층 스트림 프로세서를 활성화 하도록 stream processing 작업 공간 구성을 조정하는 것이 좋습니다.80% RAM 임계값을 초과하면 스트림 프로세서가
Worker out of memory오류와 함께 실패합니다.sp.processor.stats()명령을 사용하면 각 스트림 프로세서의state.stateSize값을 볼 수 있습니다. 자세한 내용을 알아보려면 스트림 프로세서의 통계 보기를 참조하세요.Atlas Stream Processing 파이프라인 정의는 16 MB를 초과할 수 없습니다.
Only users with the
Organization Stream Processing Admin,Project Owner,Project Stream Processing OwnerorAtlas adminroles can use Atlas Stream Processing.You must use
mongoshversion 2.3.4 or later to override an option on an existing stream processor using amongoshmethod. For example, usingsp.processor.start()to specify a tier for the processor you are starting.See Develop Stream Processors to learn more about managing a stream processor using
mongosh.
집계 파이프라인
Atlas Stream Processing은 Atlas에서 사용할 수 있는 집계 파이프라인 단계의 하위 집합을 지원하므로, 저장 데이터에서 수행할 수 있는 것과 동일한 작업을 스트리밍 데이터에 대해 많이 수행할 수 있습니다. 지원되는 집계 파이프라인 단계의 전체 목록은 스트림 집계 문서를 참조하세요.
Atlas Stream Processing은 집계 변수
$$NOW,$$CLUSTER_TIME,$$USER_ROLES,$SEARCH_META를 지원하지 않습니다.Atlas Stream Processing는 $emit 단계를 사용하여 AWS S3 버킷에
125 MB보다 큰 BSON 문서를 쓰는 것을 지원하지 않습니다.$ice버그 단계는
partitionedBy필드 에서 최대 3개의 파티션 변환을 지원합니다.
Kafka 연결
Apache Kafka $source 단계의 경우 실행 중인 프로세서의 Apache Kafka 주제가 $source 역할을 하면서 파티션을 추가하면 시작 오프셋은 auto_offset_reset 속성에 의해 결정됩니다.
Apache Kafka $source 단계의 경우 스트림 처리 작업 영역 계층 파티션 제한이 적용됩니다. 스트림 처리 공간 계층 의 파티션 제한을 초과하면 영향을 받는 스트림 프로세서가 실패합니다. 추가 파티션을 지원 하려면 스트림 처리 공간을 업그레이드 해야 합니다.
Atlas Stream Processing은 다른 소비자와 동일한 소비자 그룹에서 Apache Kafka 소비자에 연결하는 것을 지원하지 않습니다. Atlas Stream Processing에서 사용되는 모든 Kafka 컨슈머가 전용 컨슈머 그룹에서 실행됩니다.
For Apache Kafka 연결의 경우 Atlas Stream Processing 현재 다음 보안 프로토콜만 지원합니다.
SASL_PLAINTEXTSASL_SSLSSL
SASL의 경우 Atlas Stream Processing은 다음 메커니즘을 지원합니다.PLAINSCRAM-SHA-256SCRAM-SHA-512OAUTHBEARER
의
SSL경우, Atlas Stream Processing 사용한 Apache Kafka 시스템 상호 TLS 인증 위해 다음 자산을 제공해야 합니다.a 인증 기관( 기본값 Apache Kafka CA 이외의 인증 기관을 사용하는 경우)
클라이언트 TLS 인증서
TLS 인증서 서명에 사용되는 TLS 키 파일
초기 동기화
initialSync doesn't support collections whose _id values are arrays, regular expressions, or undefined, which MongoDB doesn't support as
_idvalues.If your collection's
_idvalues are default generated ObjectId values or orderedintorlongvalues,initialSyncachieves optimal performance. For other_idtypes,initialSyncmight take longer to complete because the values aren't stored in a predictable order. If the resume token is no longer on the oplog wheninitialSynccompletes, the processor enters a failed state to prevent data loss. To recover, restart the processor withresumeFromCheckpoint=false, which causesinitialSyncto run again. To learn more, see Checkpoints.Atlas Stream Processing은
initialSync이 복사하는 동안 파티션에 새 문서를 삽입할 수 있습니다. 확장 중인 파티션에서 쿼리를 방해하는 네트워크 장애는 컬렉션 복사 단계를 연장시킬 수 있습니다.initialSync컬렉션 복사 또는 따라잡기 단계 중에 변경 이벤트를 읽는 경우 중복 문서를 삽입할 수 있습니다. Atlas Stream Processing의 최소 1회 처리 보장은 이 동작을 보장합니다. 컬렉션의_id값이ObjectId값이 아니거나 정렬된int값 또는long값이 아니면 중복이 더 많이 발생할 가능성이 높습니다. 이는 컬렉션 복사 단계가 더 오래 실행되고 더 많은 변경 이벤트에 걸치기 때문입니다.
페일오버 프로세서
Atlas Stream Processing은 다음 구성의 프로세서에 대해서만 페일오버 프로세서 를 지원합니다.
Atlas 소스 및 싱크
Atlas 소스와 Apache Kafka 싱크
Stream Processing 워크스페이스는 최대 2개의 페일오버 리전을 가질 수 있습니다. 페일오버 리전은 Stream Processing 작업 공간의 기본값 리전과 동일한 클라우드 공급자를 사용해야 합니다. Atlas Stream Processing은 클라우드 간 페일오버를 지원하지 않습니다.
페일오버 프로세서로 구성된 프로세서의 경우 한 프로세서만 언제든 시점에 활성화될 수 있습니다. 활성 프로세서만 편집할 수 있습니다.