Atlas Stream Processing에는 다음과 같은 제한 사항이 적용됩니다.
일반
Atlas Stream Processing 최소 한 번 처리 만 지원합니다.
Atlas Stream Processing 수평 확장 지원 하지 않습니다.
Atlas Stream Processing은
parallelism값을 지정할 수 있는 단계를 제외하고 변환 파이프라인 단계에 대해 단일 코어를 사용합니다.수직 자동 확장을 활성화 경우
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를 초과할 수 없습니다.
,,
Project OwnerProject Stream Processing Owner또는Organization Stream Processing AdminAtlas admin역할을 가진 사용자만 Atlas Stream Processing 사용할 수 있습니다.메서드를 사용하여 기존 스트림 프로세서에서 옵션을 재정의하려면
mongosh23버전..4mongosh이상을 사용해야 합니다. 예시 들어 를sp.processor.start()사용하여 시작하려는 프로세서의 계층 지정합니다.를 사용하여 스트림 프로세서를 관리하는
mongosh방법에 대해 자세히 학습 스트림 프로세서 개발을 참조하세요.
집계 파이프라인
Atlas Stream Processing은 Atlas에서 사용할 수 있는 집계 파이프라인 단계의 하위 집합을 지원하므로, 저장 데이터에서 수행할 수 있는 것과 동일한 작업을 스트리밍 데이터에 대해 많이 수행할 수 있습니다. 지원되는 집계 파이프라인 단계의 전체 목록은 스트림 집계 문서를 참조하세요.
Atlas Stream Processing은 집계 변수
$$NOW,$$CLUSTER_TIME,$$USER_ROLES,$SEARCH_META를 지원하지 않습니다.Atlas Stream Processing $emit 단계를 사용하여 AWS S3 버킷에
125 MB보다 큰 BSON 문서를 쓰는 것을 지원 하지 않습니다.
Kafka 연결
Apache Kafka $source 단계의 경우 실행 프로세서에 $source 역할을 하는 Apache Kafka 주제 파티션을 추가하면 시작 오프셋은 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는 _id 값이 배열, 정규 표현식 또는 정의되지 않은 컬렉션( MongoDB
_id값으로 지원 하지 않는 컬렉션)을 지원 하지 않습니다.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의 최소 한 번 처리 보장이 이러한 동작을 다룹니다. 컬렉션의_id값이ObjectId값이나 정렬된int또는long값이 아닌 경우 컬렉션-복사 단계가 더 오래 실행되고 더 많은 변경 이벤트에 걸쳐 있기 때문에 중복이 발생할 가능성이 더 높습니다.
페일오버 프로세서
Atlas Stream Processing은 다음 구성의 프로세서에 대해서만 페일오버 프로세서 를 지원합니다.
Atlas 소스 및 싱크
Atlas 소스 및 Apache Kafka 싱크
페일오버 프로세서로 구성된 프로세서의 경우 한 프로세서만 언제든 시점에 활성화될 수 있습니다. 활성 프로세서만 편집할 수 있습니다.