Descripción general de Eventarc Advanced

Eventarc te permite compilar arquitecturas basadas en eventos y mensajes sin tener que implementar, personalizar ni mantener la infraestructura subyacente.

Eventarc se ofrece en dos ediciones: Eventarc Advanced y Eventarc Standard. Ambas ediciones ofrecen una solución de eventos escalable, sin servidores y completamente administrada que te permite enrutar eventos de forma asíncrona desde fuentes a destinos. Para obtener más información, consulta Cómo elegir entre Eventarc Advanced y Eventarc Standard.

Eventarc Advanced está diseñado para simplificar la transferencia, la organización y la entrega de datos de eventos a través de mensajes entre aplicaciones, servicios y extremos. Eventarc Advanced te permite recopilar eventos que ocurren en un sistema y publicarlos en un bus central. Los servicios interesados pueden suscribirse a mensajes específicos creando inscripciones. Puedes usar el bus y una canalización para enrutar eventos de varias fuentes en tiempo real, publicarlos en varios destinos y, de manera opcional, transformar eventos antes de entregarlos a un destino.

Eventarc Advanced es ideal para organizaciones con necesidades complejas de eventos y mensajería, en especial aquellas que tienen problemas para administrar numerosos temas de Pub/Sub, colas de Kafka o bien otros sistemas de mensajería de terceros. Al proporcionar a los administradores mayor visibilidad y control centralizados, Eventarc Advanced permite a las organizaciones conectar varios equipos en diferentes proyectos.

Puedes administrar Eventarc Advanced desde la consola de Google Cloud , desde la línea de comandos con Google Cloud CLI o con la API de Eventarc.

Eventarc Advanced te permite recibir, filtrar, transformar,
    enrutar y entregar mensajes entre diferentes servicios, apps y sistemas.
Eventarc Advanced te permite recibir, filtrar, transformar, enrutar y entregar mensajes
entre diferentes servicios, apps y sistemas (haz clic en el diagrama para ampliarlo).

Conceptos clave

  1. Un bus proporciona un extremo detectable para los eventos y es un router que recibe todos los eventos publicados por los proveedores y los entrega a cero o más destinos. Un bus te permite centralizar, supervisar y rastrear el flujo de mensajes a través de tu sistema. Puedes usar un bus para enrutar eventos desde muchas fuentes hacia muchos destinos.

  2. Los mensajes que llegan a un bus se evalúan según los criterios de una inscripción, que representa una suscripción a los eventos recopilados por un bus en particular. Los eventos se enrutan a los consumidores que se suscribieron a esos eventos específicos. La inscripción te permite usar Common Expression Language (CEL) para definir políticas de control de acceso detalladas que coincidan con los eventos según sus atributos. Una inscripción también te permite especificar la canalización a la que se deben entregar los eventos coincidentes.

  3. La canalización es el intermediario de entrega entre un bus y un destino. La canalización especifica un destino y también brinda la opción de transformar los eventos coincidentes antes de entregarlos al destino. Te permite controlar diferentes estructuras de eventos, ya que admite varios formatos de carga útil y te permite adaptar los datos de eventos sobre la marcha sin modificar los servicios de origen o de destino.

Funciones clave

Eventarc Advanced admite muchos casos de uso para las aplicaciones de destino. Estas son algunas de sus capacidades clave:

  • Integración de aplicaciones a gran escala: Puedes conectar numerosos servicios y aplicaciones, lo que permite la comunicación asíncrona en diferentes formatos y esquemas de eventos.

  • Transmisión de eventos para IA y estadísticas: Puedes controlar el flujo de datos de los dispositivos IoT y las cargas de trabajo de IA, filtrar, transformar y enriquecer los eventos antes de transferirlos a tus canalizaciones de estadísticas.

  • Implementaciones híbridas y de múltiples nubes: Puedes extender tus arquitecturas basadas en eventos más allá de Google Cloud, y realizar integraciones con sistemas locales y otros proveedores de servicios en la nube. Eventarc Advanced te permite enrutar eventos desde varias fuentes, incluidas las fuentes de Google y los publicadores directos de eventos.

Información sobre la regionalización

Eventarc Advanced es un servicio completamente regional: todo el tráfico y los datos de Eventarc Advanced deben residir en la misma región. Por ejemplo, las inscripciones y las canalizaciones solo pueden leer y procesar datos de la misma región que el autobús. La compatibilidad entre regiones se puede lograr publicando eventos en diferentes buses en diferentes regiones y configurando una red dentro de un perímetro de servicio que abarque varias regiones.

Diseños de proyectos

Todos los recursos de Eventarc deben pertenecer a un proyecto. Google CloudSin embargo, no es necesario que el proveedor (fuente de eventos), el bus (administrador) y la canalización (destino de eventos) estén en el mismo proyecto.

Puedes usar una combinación de permisos de Identity and Access Management (IAM) para controlar el uso de recursos, el acceso detallado a los datos con CEL y los perímetros de servicio para satisfacer los requisitos de redes y seguridad de diferentes necesidades de entrada y salida.

Eventos

Un evento es un registro de datos que expresa un suceso y su contexto, y que indica un cambio en un recurso o entorno. Un evento es una unidad de comunicación discreta que es independiente de otros eventos. Por ejemplo, un evento puede indicar un cambio en los datos de una base de datos, un archivo agregado a un sistema de almacenamiento o un trabajo programado.

Ten en cuenta que un evento también es un mensaje que emite un componente cuando cambia su estado. Cuando ocurre un evento, el mensaje se envía a la infraestructura de eventos, donde los consumidores pueden recuperarlo. En el contexto de la arquitectura basada en eventos, a menudo usamos el término evento para referirnos al mensaje que comunica el evento en lugar de a la ocurrencia en sí (lo que realmente sucedió para generar el mensaje).

Tipos de eventos

Eventarc Advanced admite eventos que provienen directamente de una fuente de Google.

Para obtener más información, consulta Tipos de eventos de Google compatibles con Eventarc.

Proveedores y destinos de eventos

Eventarc Advanced recopila eventos de proveedores de eventos y los enruta a un destino de eventos. Cada canalización de Eventarc Advanced solo puede especificar un destino como objetivo para los mensajes enrutados.

Entre los proveedores admitidos, se incluyen los proveedores de Google y los publicadores directos de eventos. Entre los destinos compatibles, se incluyen Cloud Run, Cloud Run Functions, extremos HTTP alojados en una red de nube privada virtual, Workflows y otro bus avanzado de Eventarc.

Para obtener más información, consulta Proveedores y destinos de eventos.

Formato de eventos y bibliotecas

Eventarc entrega eventos al destino objetivo sin importar el proveedor y en un formato de CloudEventscon una solicitud HTTP en modo de contenido de objeto binario. CloudEvents es una especificación para describir metadatos de eventos de forma común.

Los destinos objetivo, como las funciones de Cloud Run y Cloud Run, consumen eventos en formato HTTP. Para los destinos de Workflows, el servicio de Workflows convierte el evento en un objeto JSON y lo pasa a la ejecución del flujo de trabajo como un argumento de entorno de ejecución.

Usar una manera estándar para describir los metadatos de eventos garantiza la coherencia, la accesibilidad y la portabilidad. Los consumidores de eventos pueden leer estos eventos directamente, o puedes usar las bibliotecas cliente de Cloud en varios lenguajes (incluidos C++, C#, Go, Java, Node.js, PHP, Python y Ruby) para leer y analizar los eventos. También hay un conjunto de SDK de CloudEvents específicos para cada lenguaje.

La estructura del cuerpo HTTP para todos los eventos está disponible en el repositorio de GitHub de CloudEvents de Google.

Confiabilidad y entrega

No hay garantía de entrega en orden ni de la regla primero en entrar. Ten en cuenta que tener un orden estricto comprometería las funciones de disponibilidad y escalabilidad de Eventarc que coinciden con las de su capa de transporte, Pub/Sub. Para obtener más información, consulta Ordena mensajes.

La latencia y la capacidad de procesamiento son el mejor esfuerzo. Varían en función de varios factores, incluido si el tráfico de publicación o de salida involucra diferentes regiones, la configuración de un servicio en particular y la carga de red en los recursos de una región Google Cloud .

Ten en cuenta que hay cuotas y límites de uso que se aplican, por lo general, a Eventarc.

Política de reintentos de eventos

La duración predeterminada de la retención de mensajes que establece Eventarc Advanced es de 24 horas con una demora de retirada exponencial.

Eventarc Advanced usa un retraso con retirada exponencial para manejar errores que se pueden reintentar. Esto comienza con una demora de un segundo, y la demora se duplica después de cada intento fallido (hasta un máximo de 60 segundos y 5 intentos).

Para obtener más información, consulta Eventos de reintento.

Eventos duplicados

Los eventos duplicados pueden entregarse a los controladores de eventos. Según la especificación de CloudEvents, la combinación de los atributos source y id se considera única y, por lo tanto, cualquier evento con la misma combinación se considera duplicado. Debes implementar controladores de eventos idempotentes como práctica recomendada general.

Observabilidad

Google Cloud Observability proporciona herramientas de supervisión, registro y diagnóstico. Estas herramientas pueden ayudarte a supervisar y analizar la actividad y el crecimiento de Eventarc, y a comprender el comportamiento, el estado y el rendimiento de tus aplicaciones. Para obtener más información, consulta Observabilidad en Eventarc.

Los registros detallados de Eventarc, Cloud Run, Cloud Run Functions, Pub/Sub y Workflows están disponibles en los registros de auditoría de Cloud.

Estándares de cumplimiento

Eventarc cumple con estas certificaciones y estándares.

¿Qué sigue?