Puedes usar Eventarc y Firestore en modo Datastore para crear arquitecturas basadas en eventos. Firestore en el modo de Datastore proporciona activadores para Eventarc que generan eventos a partir de los cambios en una entidad concreta de tu base de datos. El activador puede enrutar eventos a un destino admitido:
Eventarc ofrece una solución estandarizada para gestionar el flujo de cambios de estado, llamados eventos, entre microservicios desacoplados. Cuando se activan, Eventarc enruta estos eventos a varios destinos y gestiona la entrega, la seguridad, la autorización, la observabilidad y la gestión de errores.
Ejemplos de casos prácticos
Una arquitectura basada en eventos es un patrón de diseño de sistemas en el que los servicios reaccionan a los cambios de estado, conocidos como eventos. Puedes usar este patrón junto con la escalabilidad de Firestore para añadir más funciones a tu aplicación. Por ejemplo, puedes añadir las siguientes funciones:
Interoperabilidad entre diferentes pilas de tecnología
Replica tus datos y transfórmalos antes de enviarlos a un sistema de analíticas.
Procesamiento en paralelo
Operaciones de distribución para el procesamiento en paralelo. Si tienes varios sistemas que funcionan en función de los cambios de las entidades, puedes usar los flujos basados en push en cada consumidor y enrutar el evento a varios consumidores.
Flujos de eventos basados en push
Crea diseños de mensajería basados en notificaciones push. Los clientes pueden recibir notificaciones sin necesidad de sondear servicios remotos. Sin la latencia de sondeo, puedes procesar datos sobre la marcha y realizar análisis en tiempo real de forma más eficaz.
Monitorización y alertas de estados
Usa una arquitectura basada en eventos para añadir métricas personalizadas a las operaciones de tu base de datos. Monitorizar y recibir alertas sobre cambios y actualizaciones. Detectar anomalías.
Limitaciones
Ten en cuenta las siguientes limitaciones de los activadores del modo Datastore para Eventarc:
- No se garantiza la realización del pedido. Los cambios rápidos pueden activar eventos en un orden inesperado.
Los eventos se entregan al menos una vez.
Asegúrate de que tu controlador de eventos sea idempotente y evita que se produzcan resultados inesperados o efectos secundarios cuando se envíe un evento más de una vez. Consulta más información sobre cómo crear funciones idempotentes.
Un activador está asociado a una sola base de datos. No puedes crear un activador que coincida con varias bases de datos.
Si eliminas una base de datos, no se eliminarán automáticamente los activadores de esa base de datos. El activador deja de enviar eventos, pero sigue existiendo hasta que lo eliminas.
Ubicaciones de Eventarc y Firestore en modo Datastore
Eventarc no admite multirregiones para los activadores de eventos de Firestore, pero puedes crear activadores para bases de datos de Firestore en ubicaciones multirregionales. Eventarc asigna las ubicaciones multirregión de Firestore a las siguientes regiones de Eventarc:
Multirregión de Firestore | Región de Eventarc |
---|---|
nam5 |
us-central1 |
eur3 |
europe-west4 |
Interoperabilidad de eventos en el modo Datastore y el modo nativo
Eventarc admite activadores de eventos tanto en el modo Datastore como en el modo nativo. Estos activadores de eventos son interoperables con ambos tipos de bases de datos. Una base de datos de Firestore en modo nativo puede recibir eventos de Datastore, y una base de datos de Firestore en modo Datastore puede recibir eventos en modo nativo.
La interoperabilidad de eventos te permite compartir código de Eventarc entre bases de datos de Firestore de distintos tipos.
Conversiones de eventos
Si aplica un activador de eventos en modo nativo a una base de datos en modo Datastore, Eventarc hará las siguientes conversiones:
- El espacio de nombres de la entidad se almacena en el atributo
PartitionId
del evento. - Las entidades insertadas se convierten en tipos
map
del modo nativo.
Siguientes pasos
- Consulta información sobre las arquitecturas basadas en eventos.