Los disparadores Atlas ejecutan la lógica de la aplicación y la base de datos. Pueden responder a eventos o usar programaciones predefinidas. Crear, modificar o eliminar un disparador requiere... Project Owner role.
Los activadores escuchan eventos de un tipo configurado. Cada activador está vinculado a una Atlas Function. Cuando un activador observa un evento que coincide con su configuración, se "dispara". El activador pasa este objeto de evento como argumento a su función vinculada.
Un activador podría activarse en:
Un tipo de operación específico en una colección determinada.
Un tiempo programado.
Atlas realiza un seguimiento del último tiempo de ejecución de cada activador y garantiza que cada evento se procese al menos una vez.
Tipos de activadores
Atlas admite estos tipos de activadores:
Los activadores de base de datos responden a la inserción, los cambios o la eliminación de documentos. Puedes configurar activadores de base de datos para cada colección vinculada de MongoDB.
Los activadores programados ejecutan funciones según un cronograma predefinido.
Limitaciones
Se aplican las restricciones de Atlas Function
Los activadores ejecutan Atlas Functions. Esto significa que tienen las mismas restricciones que todas las funciones de Atlas.
Aprende más sobre las restricciones de Atlas Function.
Rendimiento del procesamiento de eventos
Activa eventos de proceso cuando la capacidad se vuelve disponible. La capacidad de un activador se determina por su configuración de orden de eventos:
Los activadores ordenados procesan los eventos del flujo de cambios uno a la vez en secuencia. El siguiente evento comienza el procesamiento solo después de que el evento anterior finalice el procesamiento.
Los activadores desordenados pueden procesar múltiples eventos simultáneamente, hasta 10 000 a la vez por defecto. Si la fuente de datos de activadores es un clúster M10+ Atlas, se puede configurar activadores individuales no ordenados para superar el umbral de 10 000 eventos concurrentes. Para obtener más información, se debe consultar Activadores de máximo rendimiento.
La capacidad del activador no es una medida directa del rendimiento ni una tasa de ejecución garantizada. En cambio, es un umbral para el número máximo de eventos que un activador puede procesar a la vez. En la práctica, la velocidad a la que un activador puede procesar eventos depende de la lógica del tiempo de ejecución de la función del activador y del número de eventos que recibe en un intervalo de tiempo determinado.
Para aumentar el rendimiento de un activador, puedes intentar:
Optimizar el comportamiento del tiempo de ejecución de la función de activador. Por ejemplo, podrías reducir el número de llamadas a la red que realizas.
Reducir el tamaño de cada objeto de evento con el filtro de proyección del activador. Para el mejor rendimiento, limita el tamaño de cada evento de cambio a 2KB o menos.
Utilice un filtro de coincidencia para reducir la cantidad de eventos que procesa el activador. Por ejemplo, podría querer hacer algo solo si un campo específico ha cambiado. En lugar de hacer coincidir cada evento de actualización y comprobar si el campo cambió en su código de función, puede usar el filtro de coincidencia del activador para activarse solo si el campo está incluido en el objeto
updateDescription.updatedFieldsdel evento.
El número de activadores no puede superar los flujos de cambios disponibles
Atlas limita el número total de activadores de base de datos. El tamaño del clúster de Atlas determina este límite.
Cada nivel de clúster de Atlas tiene un número máximo de flujos de cambios soportados. Un activador de base de datos requiere su propio flujo de cambios. Los activadores de base de datos no deben exceder el número de flujos de cambios disponibles.
Aprende más sobre la cantidad de flujos de cambio compatibles para los Atlas en la página de Limitaciones del servicio.
Diagnosticar eventos duplicados
Durante la operación normal de los activadores, estos no envían eventos duplicados. Sin embargo, cuando se producen algunas condiciones de fallo o error, los activadores pueden entregar eventos duplicados. Es posible que veas un evento de activador duplicado cuando:
Un servidor encargado del procesamiento y seguimiento de eventos sufre una falla. Esta falla impide que el servidor registre su progreso en un sistema de almacenamiento duradero o a largo plazo, haciendo que "olvide" que ha procesado algunos de los eventos más recientes.
Utilizando un procesamiento desordenado donde los eventos del 1 al 10 se envían simultáneamente. Si el evento 9 falla y provoca la suspensión del activador, los eventos como el evento 10 podrían procesarse nuevamente cuando el sistema se reanude desde el evento 9. Esto puede llevar a duplicados, ya que el sistema no sigue estrictamente la secuencia de eventos y puede reprocesar eventos ya gestionados.
Si notas eventos de activadores duplicados, revisa los registros de activadores para detectar activadores suspendidos o fallos del servidor.