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 Elige Eventarc Advanced o 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 mediante la creación de 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 visibilidad y control mejorados y centralizados, Eventarc Advanced permite a las organizaciones conectar varios equipos en diferentes proyectos.

Puedes administrar Eventarc Advanced desde la Google Cloud consola, desde la línea de comandos con la 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 enrutador 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 hacer un seguimiento del flujo de mensajes a través de tu sistema. Puedes usar un bus para enrutar eventos de muchas fuentes a 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 para 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 mediante la coincidencia de eventos según los atributos de eventos. 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 objetivo y también proporciona 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 prácticos para las aplicaciones de destino. Estas son algunas de las 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 análisis: Puedes controlar la afluencia de datos de dispositivos IoT y cargas de trabajo de IA, filtrar, transformar y enriquecer eventos antes de enviarlos a tus canalizaciones de análisis.

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

Información sobre la regionalidad

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 bus. Se puede lograr la compatibilidad entre regiones 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 Google Cloud proyecto. Sin 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. También puedes recopilar y publicar eventos de fuentes de Google en varios proyectos. Para obtener más información, consulta Publica eventos desde varios proyectos.

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 políticas de acceso y CEL, y perímetros de servicio para admitir los requisitos de redes y seguridad para diferentes necesidades de entrada y salida.

Eventos

Un evento es un registro de datos que expresa un caso 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 ser 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 del caso 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 puede especificar solo un destino como destino para los mensajes enrutados.

Entre los proveedores compatibles, se incluyen los proveedores de Google y los publicadores directos de eventos. Entre los destinos compatibles, se incluyen Cloud Run, las funciones de Cloud Run, los extremos HTTP alojados en una red de nube privada virtual, un tema de Pub/Sub, Workflows y otro bus de Eventarc Advanced.

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 CloudEvents formato con 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 del 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 el hecho de 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 Google Cloud región.

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 un retraso de retirada exponencial.

Eventarc Advanced usa un retraso con retirada exponencial para manejar errores que se pueden reintentar. Esto comienza con un retraso de un segundo, y el retraso 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 Reintenta eventos.

Eventos duplicados

Los eventos duplicados pueden entregarse a los controladores de eventos. Según la especificación de CloudEvents, la combinación de source y id atributos 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, las funciones de Cloud Run, 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?