Nota
Esta página se aplica tanto a Atlas Infinite como a Atlas Core.
Se aplican las siguientes limitaciones a Atlas Stream Processing:
General
Atlas Stream Processing solo admite el procesamiento al menos una vez.
La plataforma Atlas Stream Processing no admite el escalado horizontal.
Atlas Stream Processing utiliza un solo núcleo para las etapas de pipeline de transformación, excepto para las etapas que pueden especificar un valor de
parallelism.Cuando habilitas escalado automático vertical, debes establecer un
maxTierya sea en el procesador o como el tamaño máximo de nivel del espacio de trabajo de Stream Processing. Si no se establece ninguno, el procesador devuelve un error y no se inicia.No es posible configurar los umbrales de CPU y memoria que activan el escalado automático vertical. Atlas Stream Processing gestiona estos umbrales internamente.
El
state.stateSizede un procesador de flujo no puede exceder el 80% de la RAM disponible para su pod. Por ejemplo, el tamaño máximo de un procesador de flujo en el nivelSP30, que tiene 8GB de RAM, es 6.4GB. Si elstate.stateSizede cualquier gestor de flujo se acerca al 80% de la RAM disponible, considera detener el gestor y reiniciarlo en un nivel superior. Si tu Stream Processing processor ya se ejecuta en el nivel máximo habilitado para tu espacio de trabajo de Stream Processing, considera ajustar la configuración de tu espacio de trabajo para habilitar Stream Processing processors de nivel superior.Cuando un procesador de flujo supera el umbral de 80% RAM, se produce un error
Worker out of memory. Puede ver elstate.stateSizevalor de cada procesador de flujo con el comandosp.processor.stats(). Consulta Ver estadísticas de un Procesador de flujos para obtener más información.Una definición de pipeline de Atlas Stream Processing no puede superar los 16 MB.
Solo los usuarios con los roles
Organization Stream Processing Admin,Project Owner,Project Stream Processing OwneroAtlas adminpueden usar Atlas Stream Processing.Debe usar la versión 2.3.4 de
mongosho posterior para anular una opción en un procesador de flujo existente utilizando un métodomongosh. Por ejemplo, usandosp.processor.start()para especificar un nivel para el procesador que está iniciando.Consulta Desarrolla procesadores de flujo para aprender más sobre la gestión de un procesador de flujo mediante
mongosh.
Pipeline de agregación
Atlas Stream Processing admite un subconjunto de las etapas del pipeline de agregación disponibles en Atlas, lo que le permite realizar muchas de las mismas operaciones en datos en transmisión que puede realizar en datos en reposo. Para obtener una lista completa de las etapas del pipeline de agregacióncompatibles, consulta la documentación de agregación de Streams.
Atlas Stream Processing no admite las variables de agregación
$$NOW,$$CLUSTER_TIME,$$USER_ROLESy$SEARCH_META.Atlas Stream Processing no admite la escritura de documentos BSON más grandes que
125 MButilizando la etapa $emit en un bucket S3 de AWS.
Conexiones Kafka
For Apache Kafka $source stages, if the Apache Kafka topic acting as $source to the running processor adds a partition, the starting offset is determined by the auto_offset_reset property.
En Apache Kafka, las etapas $source están sujetas a los límites de partición del nivel de espacio de trabajo de procesamiento de flujos. Si se supera el límite de partición del nivel de espacio de trabajo de procesamiento de flujos, el procesador de flujos afectado fallará. Es necesario actualizar el espacio de trabajo de procesamiento de flujos para que admita particiones adicionales.
Atlas Stream Processing no admite la conexión a un consumidor de Apache Kafka que pertenezca al mismo grupo de consumidores que otros consumidores. Asegúrese de que cualquier consumidor de Kafka utilizado con Atlas Stream Processing se ejecute en un grupo de consumidores dedicado.
Para las conexiones de Apache Kafka, Atlas Stream Processing actualmente solo admite los siguientes protocolos de seguridad:
SASL_PLAINTEXTSASL_SSLSSL
Para
SASL, Atlas Stream Processing es compatible con los siguientes mecanismos:PLAINSCRAM-SHA-256SCRAM-SHA-512OAUTHBEARER
Para
SSL, debes proporcionar los siguientes activos para la Apache Kafka autenticación mutua TLS del sistema con Atlas Stream Processing:una Autoridad Certificadora (si se utiliza una diferente de la por defecto Apache Kafka CA)
un certificado TLS de cliente
un archivo clave TLS, que se usa para firmar el certificado TLS
Sincronización inicial
initialSync no admite colecciones cuyos valores _id sean matrices, expresiones regulares o indefinidos, que MongoDB no admite como valores
_id.Si los valores
_idde su colección son valores ObjectId generados por defecto o valoresintolongordenados,initialSynclogra un rendimiento óptimo. Para otros tipos_id,initialSyncpodría tardar más en completarse porque los valores no se almacenan en un orden predecible. Si el token de reanudación ya no está en el oplog cuandoinitialSyncse completa, el procesador entra en un estado de error para evitar la pérdida de datos. Para recuperarse, reinicie el procesador conresumeFromCheckpoint=false, lo que hace queinitialSyncse ejecute de nuevo. Para obtener más información, consulte Puntos de control.Atlas Stream Processing puede insertar nuevos documentos en una partición mientras
initialSynclos copia. Un error de red que interrumpe una query en una partición en crecimiento puede prolongar la fase de copia de la colección.initialSyncpodría insertar documentos duplicados si lee un evento de cambio durante la fase de copia de colección o de puesta al día. La garantía de procesamiento de al menos una vez de Atlas Stream Processing cubre este comportamiento. Es más probable que se produzcan duplicados cuando los valores_idde su colección no son valoresObjectIdo valoresintolongordenados, porque la fase de copia de la colección se ejecuta durante más tiempo y abarca más eventos de cambio.
Procesadores de conmutación por error
Atlas Stream Processing admite procesadores de conmutación por error solo para procesadores con las siguientes configuraciones:
Origen y destino de Atlas
Fuente de Atlas y sumidero de Apache Kafka
Atlas Stream Processing admite procesadores de conmutación por error solo para procesadores de nivel
SP10o superior.Para los procesadores configurados con procesadores de conmutación por error, solo un procesador puede estar activo en un momento dado. Solo puede editar el procesador activo.