참고
이 페이지는 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를 초과할 수 없습니다.
Organization Stream Processing Admin,Project Owner,Project Stream Processing Owner또는Atlas admin역할을 가진 사용자만 Atlas Stream Processing 사용할 수 있습니다.기존 스트림 프로세서의 옵션을 재정의하려면
mongosh버전 2.3.4 이상을mongosh메서드를 사용하여야 합니다. 예시 들어sp.processor.start()를 사용하여 시작하려는 프로세서의 계층을 지정합니다.mongosh방법에 대해 를 사용하여 스트림 프로세서를 관리하는 자세히 학습 스트림 프로세서 개발을 참조하세요.
집계 파이프라인
Atlas Stream Processing은 Atlas에서 사용할 수 있는 집계 파이프라인 단계의 하위 집합을 지원하므로, 저장 데이터에서 수행할 수 있는 것과 동일한 작업을 스트리밍 데이터에 대해 많이 수행할 수 있습니다. 지원되는 집계 파이프라인 단계의 전체 목록은 스트림 집계 문서를 참조하세요.
Atlas Stream Processing은 집계 변수
$$NOW,$$CLUSTER_TIME,$$USER_ROLES,$SEARCH_META를 지원하지 않습니다.Atlas Stream Processing $emit 단계를 사용하여
125 MB보다 큰 BSON 문서를 AWS S3 버킷에 쓰는 것을 지원 하지 않습니다.
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는 _id 값이 배열, 정규 표현식 또는 정의되지 않은 컬렉션( MongoDB
_id값으로 지원 하지 않음)을 지원 하지 않습니다.컬렉션의
_id값이 기본값 생성된 ObjectId 값이거나 정렬된int또는long값인 경우initialSync는 최적의 성능을 달성합니다. 다른_id유형의 경우, 값이 예측 가능한 순서로 저장되지 않기 때문에initialSync을 완료하는 데 시간이 더 걸릴 수 있습니다.initialSync가 완료될 때 재개 토큰이 더 이상 oplog 에 없으면 프로세서는 데이터 손실을 방지하기 위해 실패 상태 됩니다. 복구하려면resumeFromCheckpoint=false으로 프로세서를 다시 시작하면initialSync이 다시 실행 됩니다.자세한 학습 은 체크포인트를 참조하세요.Atlas Stream Processing은
initialSync이 복사하는 동안 파티션에 새 문서를 삽입할 수 있습니다. 확장 중인 파티션에서 쿼리를 방해하는 네트워크 장애는 컬렉션 복사 단계를 연장시킬 수 있습니다.initialSync컬렉션 복사 또는 따라잡기 단계에서 변경 이벤트 읽으면 중복 문서를 삽입할 수 있습니다. Atlas Stream Processing의 최소 한 번 처리 보장이 이러한 동작을 다룹니다. 컬렉션의_id값이ObjectId값이나 정렬된int또는long값이 아닌 경우 컬렉션-복사 단계가 더 오래 실행되고 더 많은 변경 이벤트에 걸쳐 있기 때문에 중복이 발생할 가능성이 더 높습니다.
페일오버 프로세서
Atlas Stream Processing은 다음 구성의 프로세서에 대해서만 페일오버 프로세서 를 지원합니다.
Atlas 소스 및 싱크
Atlas 소스와 Apache Kafka 싱크
스트림 처리 작업 공간에는 최대 2개의 페일오버 리전이 있을 수 있습니다. 페일오버 리전은 스트림 처리 작업 공간의 기본값 리전 과 동일한 cloud 제공자 사용해야 합니다. Atlas Stream Processing 클라우드 간 페일 페일오버 지원 하지 않습니다.
페일오버 프로세서로 구성된 프로세서의 경우 한 프로세서만 언제든 시점에 활성화될 수 있습니다. 활성 프로세서만 편집할 수 있습니다.