Descripción general de las arquitecturas controladas por eventos con Eventarc

Puedes usar Eventarc y Firestore en modo Datastore para compilar basadas en eventos. Firestore en modo Datastore proporciona activadores para Eventarc que genera eventos a partir de cambios a una entidad particular de tu base de datos. El activador puede enrutar eventos a un destino admitido:

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 en varios destinos y, al mismo tiempo, administrar la entrega, la seguridad, la autorización la observabilidad y el manejo de errores.

Ejemplos de casos de uso

Una arquitectura controlada por 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 el Escalabilidad de Firestore para agregar más funciones a tu app. Por ejemplo, puedes agregar las siguientes funciones:

  • Interoperabilidad entre distintos componentes tecnológicos

    Replica tus datos y transfórmalos antes de enviarlos a un de análisis de datos en la nube.

  • Procesamiento paralelo

    Fan-out operaciones para procesamiento paralelo. Si tienes varios sistemas que operar según los cambios de entidad, puedes usar las transmisiones basadas en envíos en cada 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 los servicios remotos. Sin la latencia de sondeo, de mejorar el procesamiento de datos sobre la marcha y el análisis en tiempo real.

  • Supervisión y alertas del estado

    Usa una arquitectura basada en eventos para agregar métricas a las operaciones de tu base de datos. Supervisa y recibe alertas sobre cambios y actualizaciones. Detecta anomalías.

Limitaciones

Ten en cuenta las siguientes limitaciones de los activadores del modo Datastore para 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 tu controlador de eventos sea idempotente y evita producir resultados inesperados o efectos secundarios cuando un evento se publica más de una vez. Consulta Compila 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 es compatible con multirregiones para eventos de Firestore pero aún puedes crear activadores para las bases de datos de Firestore en ubicaciones multirregionales. Eventarc asigna Firestore ubicaciones multirregionales a las siguientes regiones de Eventarc:

Firestore multirregional Región de Eventarc
nam5 us-central1
eur3 europe-west4

Interoperabilidad de eventos en modo Datastore y modo nativo

Eventarc admite activadores de eventos para el modo Datastore y el código 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 Datastore eventos, y una base de datos de Firestore en modo Datastore puede recibir Eventos de modo nativo.

La interoperabilidad de eventos te permite compartir código de Eventarc en Bases de datos de Firestore de distintos tipos.

Conversiones de eventos

Si aplicas un activador de eventos de modo nativo a un Datastore de Compute Engine, 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 a los tipos map de modo nativo.

¿Qué sigue?