Puedes usar Eventarc y Firestore en modo Datastore para compilar arquitecturas orientadas a eventos. Firestore en modo Datastore proporciona activadores para Eventarc que generan eventos a partir de cambios en una entidad en particular de tu base de datos. El activador puede enrutar eventos a un destino compatible:
Eventarc ofrece una solución estandarizada para administrar el flujo de cambios de estado, llamados eventos, entre microservicios separados. Cuando se activa, Eventarc enruta estos eventos a varios destinos mientras administra la entrega, la seguridad, la autorización, la observabilidad y el manejo de errores por ti.
Ejemplos de casos de uso
Una arquitectura orientada a 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 agregar más funciones a tu app. Por ejemplo, puedes agregar las siguientes capacidades:
Interoperabilidad entre diferentes pilas de tecnología
Replicar tus datos y transformarlos antes de enviarlos a un sistema de análisis
Procesamiento paralelo
Expande las operaciones para el procesamiento en paralelo. Si tienes varios sistemas que operan en función de los cambios de entidad, puedes usar las transmisiones basadas en notificaciones push en cada consumidor y enrutar el evento a varios consumidores.
Transmisiones de eventos basadas en envíos
Crea diseños de mensajes basados en envíos. Los clientes pueden recibir notificaciones sin necesidad de sondear servicios remotos. Sin la latencia de sondeo, puedes realizar mejor el procesamiento de datos sobre la marcha y el análisis en tiempo real.
Supervisión y alertas de estado
Usa una arquitectura orientada a eventos para agregar métricas personalizadas a tus operaciones de base de datos. Supervisa y recibe alertas sobre cambios y actualizaciones. Detecta anomalías.
Limitaciones
Ten en cuenta las siguientes limitaciones para los activadores del modo Datastore de Eventarc:
- No se garantiza el ordenamiento. Los cambios rápidos pueden activar eventos en un orden inesperado.
Los eventos se entregan al menos una vez.
Asegúrate de que el controlador de eventos sea idempotente y evita producir resultados inesperados o efectos secundarios cuando un evento se entrega más de una vez. Consulta Cómo compilar funciones idempotentes para obtener más información.
Un activador se asocia con una sola base de datos. No puedes crear un activador que coincida con varias bases de datos.
Cuando se borra una base de datos, no se borra automáticamente ningún activador de la base de datos. El activador deja de entregar eventos, pero sigue existiendo hasta que lo borras.
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 multirregionales de Firestore a las siguientes regiones de Eventarc:
Firestore multirregional | Región de Eventarc |
---|---|
nam5 |
us-central1 |
eur3 |
europe-west4 |
Interoperabilidad de eventos entre el modo Datastore y el modo nativo
Eventarc admite activadores de eventos para el modo Datastore y 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 de modo nativo.
La interoperabilidad de eventos te permite compartir el código de Eventarc entre bases de datos de Firestore de diferentes tipos.
Conversiones de eventos
Si aplicas un activador de eventos de modo nativo a una base de datos de modo de Datastore, Eventarc realiza las siguientes conversiones:
- El espacio de nombres de la entidad se almacena en el atributo
PartitionId
del evento. - Las entidades incorporadas se convierten en tipos
map
del modo nativo.
¿Qué sigue?
- Obtén información sobre las arquitecturas controladas por eventos.