O Eventarc permite criar arquiteturas orientadas a eventos e baseadas em mensagens sem ter que implementar, personalizar ou manter a infraestrutura subjacente.
O Eventarc é oferecido em duas edições: Eventarc Advanced e Eventarc Standard. As duas edições oferecem uma solução de eventos escalonável, sem servidor e totalmente gerenciada que permite rotear eventos de origens para destinos de forma assíncrona. Para mais informações, consulte Escolher o Eventarc Advanced ou o Eventarc Standard.
O Eventarc Advanced foi projetado para simplificar a ingestão, a orquestração e a entrega de dados de eventos por mensagens em aplicativos, serviços e endpoints. O Eventarc Advanced permite coletar eventos que ocorrem em um sistema e publicá-los em um barramento central. Os serviços interessados podem assinar mensagens específicas criando registros. É possível usar o barramento e um pipeline para rotear eventos de várias origens em tempo real, publicá-los em vários destinos e, opcionalmente, transformar eventos antes da entrega a um destino.
O Eventarc Advanced é ideal para organizações com necessidades complexas de eventos e mensagens, especialmente aquelas que lidam com o gerenciamento de vários tópicos do Pub/Sub, filas do Kafka ou outros sistemas de mensagens de terceiros. Ao oferecer aos administradores visibilidade e controle aprimorados e centralizados, o Eventarc Advanced permite que as organizações conectem várias equipes em diferentes projetos.
É possível gerenciar o Eventarc Advanced no Google Cloud console, na linha de comando usando a Google Cloud CLI ou usando a API Eventarc.
entre diferentes serviços, apps e sistemas (clique no diagrama para ampliar).
Principais conceitos
Um barramento fornece um endpoint detectável para eventos e é um roteador que recebe todos os eventos publicados por provedores e os entrega a zero ou mais destinos. Um barramento permite centralizar, monitorar e rastrear o fluxo de mensagens pelo sistema. É possível usar um barramento para rotear eventos de muitas origens para muitos destinos.
As mensagens que chegam a um barramento são avaliadas de acordo com os critérios de um registro , que representa uma assinatura de eventos coletados por um barramento específico. Os eventos são roteados para os consumidores que assinaram esses eventos específicos. O registro permite usar Common Expression Language (CEL) para definir políticas de controle de acesso refinadas, correspondendo a eventos com base nos atributos deles. Um registro também permite especificar o pipeline para o qual os eventos correspondentes precisam ser entregues.
O pipeline é o intermediário de entrega entre um barramento e um destino. O pipeline especifica um destino e também oferece a opção de transformar os eventos correspondentes antes de entregá-los ao destino. Ele permite processar diferentes estruturas de eventos oferecendo suporte a vários formatos de payload e permitindo adaptar os dados de eventos em tempo real sem modificar os serviços de origem ou de destino.
Principais recursos
O Eventarc Advanced é compatível com muitos casos de uso para aplicativos de destino. Alguns dos principais recursos são:
Integração de aplicativos em grande escala: é possível conectar vários serviços e aplicativos, permitindo a comunicação assíncrona em diferentes formatos e esquemas de eventos.
Streaming de eventos para IA e análise: é possível processar o fluxo de dados de dispositivos IoT e cargas de trabalho de IA, filtrando, transformando e enriquecendo eventos antes de enviá-los aos pipelines de análise.
Implantações híbridas e multicloud: é possível estender suas arquiteturas orientadas a eventos além Google Cloud, integrando-se a sistemas locais e outros provedores de nuvem. O Eventarc Advanced permite rotear eventos de várias origens, incluindo origens do Google e editores diretos de eventos.
Entender a regionalidade
O Eventarc Advanced é um serviço totalmente regional: todo o tráfego e os dados do Eventarc Advanced precisam residir na mesma região. Por exemplo, os registros e pipelines só podem ler e processar dados da mesma região do barramento. O suporte entre regiões pode ser alcançado publicando eventos em diferentes barramentos em diferentes regiões e configurando uma rede dentro de um perímetro de serviço que abrange várias regiões.
Layouts de projetos
Todos os recursos do Eventarc precisam pertencer a um Google Cloud projeto. No entanto, não há exigência de que o provedor (origem do evento), o barramento (administrador) e o pipeline (destino do evento) estejam no mesmo projeto. Também é possível coletar e publicar eventos de origens do Google em vários projetos. Para mais informações, consulte Publicar eventos de vários projetos.
É possível usar uma combinação de permissões do gerenciamento de identidade e acesso (IAM) para controlar o uso de recursos, o acesso refinado a dados usando políticas de acesso e CEL, e perímetros de serviço para oferecer suporte a requisitos de rede e segurança para diferentes necessidades de entrada e saída.
Eventos
Um evento é um registro de dados que expressa uma ocorrência e o contexto dela e indica uma mudança em um recurso ou ambiente. Um evento é uma unidade distinta de comunicação, independente de outros eventos. Por exemplo, um evento pode indicar uma mudança em dados em um banco de dados, um arquivo adicionado a um sistema de armazenamento ou um job programado.
Um evento também é uma mensagem emitida por um componente quando o estado dele muda. Quando um evento ocorre, a mensagem é enviada para a infraestrutura de eventos, onde os consumidores podem recuperá-la. No contexto da arquitetura orientada a eventos, geralmente usamos o termo evento para nos referirmos à mensagem que comunica o evento, em vez da ocorrência em si (o que realmente aconteceu para gerar a mensagem).
Tipos de evento
O Eventarc Advanced oferece suporte a eventos que vêm diretamente de uma origem do Google.
Para mais informações, consulte Tipos de eventos do Google com suporte do Eventarc.
Provedores e destinos de eventos
Os eventos são coletados de provedores de eventos pelo Eventarc Advanced e roteados para um destino de evento. Cada pipeline do Eventarc Advanced pode especificar apenas um destino como destino para mensagens roteadas.
Os provedores com suporte incluem provedores do Google e editores diretos de eventos. Os destinos com suporte incluem o Cloud Run, as funções do Cloud Run, os endpoints HTTP hospedados em uma rede de nuvem privada virtual, um tópico do Pub/Sub, os Workflows e outro barramento do Eventarc Advanced.
Para mais informações, consulte Provedores e destinos de eventos.
Formato e bibliotecas de eventos
O Eventarc entrega eventos, independentemente do provedor, para o destino em um formato CloudEvents que usa uma solicitação HTTP no modo de conteúdo binário. CloudEvents é uma especificação para descrever metadados de eventos de maneira comum.
Destinos alvo, como funções do Cloud Run e Cloud Run consomem eventos no formato HTTP. Para destinos do Workflows, o serviço Workflows converte o evento em um objeto JSON e o transmite para a execução do fluxo de trabalho como um argumento do ambiente de execução.
O uso de uma maneira padrão para descrever metadados de eventos oferece suporte à consistência, acessibilidade e portabilidade. Os consumidores de eventos podem ler esses eventos diretamente, ou você pode usar as bibliotecas de cliente do Cloud em várias linguagens (incluindo C++, C#, Go, Java, Node.js, PHP, Python e Ruby) para ler e analisar os eventos. Há também um conjunto de SDKs do CloudEvents específicos da linguagem .
A estrutura do corpo HTTP de todos os eventos está disponível no repositório GitHub de eventos do Google Cloud.
Confiabilidade e entrega
Não há garantia de entrega pelo método primeiro a entrar, primeiro a sair A ordem estrita prejudicaria os recursos de disponibilidade e escalonabilidade do Eventarc que correspondem aos da camada de transporte, o Pub/Sub. Para mais informações, consulte Como ordenar mensagens.
A latência e a capacidade de processamento são os melhores esforços. Elas variam com base em vários fatores, incluindo se o tráfego de publicação ou saída envolve regiões diferentes; a configuração de um serviço específico; e a carga da rede nos recursos de uma Google Cloud região.
Observe que há cotas e limites de uso que se aplicam geralmente ao Eventarc.
Política de repetição de eventos
A duração padrão de retenção de mensagens definida pelo Eventarc Advanced é de 24 horas com um atraso de espera exponencial.
O Eventarc Advanced usa um atraso de espera exponencial para lidar com erros que permitam novas tentativas. Isso começa com um atraso de um segundo, e o atraso é dobrado após cada tentativa com falha (até um máximo de 60 segundos e 5 tentativas).
Para mais informações, consulte Repetir eventos.
Duplicar eventos
Eventos duplicados podem ser entregues aos manipuladores de eventos. De acordo com a
especificação do CloudEvents,
a combinação dos atributos source e id é considerada única e,
portanto, todos os eventos com a mesma combinação são considerados duplicados.
Implemente
manipuladores de eventos idempotentes
como prática recomendada geral.
Observabilidade
O Google Cloud Observability oferece ferramentas de monitoramento, geração de registros e diagnóstico. Essas ferramentas podem ajudar você a monitorar e analisar a atividade e o crescimento do Eventarc e entender o comportamento, a integridade e o desempenho dos aplicativos. Para mais informações, consulte Observabilidade no Eventarc.
Registros detalhados do Eventarc, Cloud Run, funções do Cloud Run, Pub/Sub e Workflows estão disponíveis nos Registros de auditoria do Cloud.
Padrões de compliance
O Eventarc está em conformidade com estas certificações e padrões.