O Eventarc permite-lhe criar arquiteturas orientadas por eventos e baseadas em mensagens sem ter de implementar, personalizar nem manter a infraestrutura subjacente.
O Eventarc é oferecido em duas edições: Eventarc Advanced e Eventarc Standard. Ambas as edições oferecem uma solução de eventos escalável, sem servidor e totalmente gerida que lhe permite encaminhar eventos de forma assíncrona de origens para destinos. Para mais informações, consulte o artigo Escolha o Eventarc Advanced ou o Eventarc Standard.
O Eventarc Advanced foi concebido para simplificar a ingestão, a orquestração e a entrega de dados de eventos através de mensagens em aplicações, serviços e pontos finais. O Eventarc Advanced permite-lhe recolher eventos que ocorrem num sistema e publicá-los num autocarro central. Os serviços interessados podem subscrever mensagens específicas criando inscrições. Pode usar o bus e um pipeline para encaminhar 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, particularmente aquelas que têm dificuldades em gerir vários tópicos do Pub/Sub, filas do Kafka ou outros sistemas de mensagens de terceiros. Ao oferecer aos administradores uma visibilidade e um controlo melhorados e centralizados, o Eventarc Advanced permite que as organizações associem várias equipas em diferentes projetos.
Pode gerir o Eventarc Advanced a partir da Google Cloud consola, da linha de comandos através da CLI Google Cloud ou através da API Eventarc.
entre diferentes serviços, apps e sistemas (clique no diagrama para o aumentar).
Conceitos-chave
Um bus fornece um ponto final detetável para eventos e é um router que recebe todos os eventos publicados por fornecedores e os envia para zero ou mais destinos. Um barramento permite-lhe centralizar, monitorizar e rastrear o fluxo de mensagens através do seu sistema. Pode usar um barramento para encaminhar eventos de muitas origens para muitos destinos.
As mensagens que chegam a um autocarro são avaliadas de acordo com os critérios de uma inscrição que representa uma subscrição de eventos recolhidos por um autocarro específico. Os eventos são encaminhados para os consumidores que subscreveram esses eventos específicos. A inscrição permite-lhe usar o Idioma de expressão comum (IEC) para definir políticas de controlo de acesso detalhadas através da correspondência de eventos com base nos atributos dos eventos. Uma inscrição também permite especificar o pipeline para o qual os eventos com correspondência devem ser enviados.
O canal é o intermediário de entrega entre um autocarro e um destino. O pipeline especifica um destino e também oferece a opção de transformar todos os eventos correspondentes antes de os enviar para o destino. Permite-lhe processar diferentes estruturas de eventos através do suporte de vários formatos de payload e da adaptação dos dados de eventos em tempo real sem modificar os serviços de origem ou de destino.
Principais capacidades
O Eventarc Advanced suporta muitos exemplos de utilização para aplicações de destino. Algumas das principais capacidades são:
Integração de aplicações em grande escala: pode ligar vários serviços e aplicações, o que permite a comunicação assíncrona em diferentes formatos e esquemas de eventos.
Streaming de eventos para IA e estatísticas: pode processar o afluxo de dados de dispositivos de IoT e cargas de trabalho de IA, filtrando, transformando e enriquecendo eventos antes de os introduzir nos seus pipelines de estatísticas.
Implementações híbridas e em várias nuvens: pode expandir as suas arquiteturas orientadas por eventos além da Google Cloud, integrando-as com sistemas no local e outros fornecedores de nuvem. O Eventarc Advanced permite-lhe encaminhar eventos de várias origens, incluindo origens Google e publicadores diretos de eventos.
Compreenda a regionalidade
O Eventarc Advanced é um serviço totalmente regional: todo o tráfego e os dados do Eventarc Advanced têm de residir na mesma região. Por exemplo, as inscrições e os pipelines só podem ler e processar dados da mesma região que o barramento. O suporte entre regiões pode ser alcançado através da publicação de eventos em diferentes barramentos em diferentes regiões e da configuração de uma rede num perímetro de serviço que abranja várias regiões.
Esquemas de projetos
Todos os recursos do Eventarc têm de pertencer a um Google Cloud projeto. No entanto, não é necessário que o fornecedor (origem do evento), o barramento (administrador) e o pipeline (destino do evento) estejam no mesmo projeto.
Pode usar uma combinação de autorizações da gestão de identidade e de acesso (IAM) para controlar a utilização de recursos, o acesso detalhado aos dados através do CEL e perímetros de serviço para suportar os requisitos de rede e segurança para diferentes necessidades de entrada e saída.
Eventos
Um evento é um registo de dados que expressa uma ocorrência e o respetivo contexto, e indica uma alteração num recurso ou ambiente. Um evento é uma unidade discreta de comunicação, independente de outros eventos. Por exemplo, um evento pode indicar uma alteração aos dados numa base de dados, um ficheiro adicionado a um sistema de armazenamento ou uma tarefa agendada.
Tenha em atenção que um evento também é uma mensagem emitida por um componente quando o respetivo estado se altera. Quando ocorre um evento, a mensagem é enviada para a infraestrutura de eventos, onde os consumidores podem obtê-la. No contexto da arquitetura orientada por eventos, usamos frequentemente o termo evento para nos referirmos à mensagem que comunica o evento, em vez da ocorrência em si (o que aconteceu realmente para gerar a mensagem).
Tipos de eventos
O Eventarc Advanced suporta eventos provenientes diretamente de uma origem Google.
Para mais informações, consulte o artigo Tipos de eventos Google suportados pelo Eventarc.
Fornecedores e destinos de eventos
Os eventos são recolhidos de fornecedores de eventos pelo Eventarc Advanced e encaminhados para um destino de eventos. Cada pipeline avançado do Eventarc só pode especificar um destino como o respetivo alvo para mensagens encaminhadas.
Os fornecedores suportados incluem fornecedores Google e publicadores diretos de eventos. Os destinos suportados incluem o Cloud Run, as funções do Cloud Run, os pontos finais HTTP alojados numa rede de nuvem privada virtual, os fluxos de trabalho e outro bus Eventarc Advanced.
Para mais informações, consulte o artigo Fornecedores e destinos de eventos.
Formato de evento e bibliotecas
O Eventarc envia eventos, independentemente do fornecedor, para o destino num formato CloudEvents através de um pedido HTTP no modo de conteúdo binário. O CloudEvents é uma especificação para descrever metadados de eventos de forma comum.
Os destinos de destino, como as funções do Cloud Run e o Cloud Run, consomem eventos no formato HTTP. Para os destinos do Workflows, o serviço Workflows converte o evento num objeto JSON e passa o evento para a execução do fluxo de trabalho como um argumento de tempo de execução.
A utilização de uma forma padrão de descrever os metadados de eventos suporta a consistência, a acessibilidade e a portabilidade. Os consumidores de eventos podem ler estes eventos diretamente ou pode usar as bibliotecas cliente da Google Cloud em vários idiomas (incluindo C++, C#, Go, Java, Node.js, PHP, Python e Ruby) para ler e analisar os eventos. Também existe um conjunto de SDKs CloudEvents específicos do idioma.
A estrutura do corpo HTTP para todos os eventos está disponível no repositório do GitHub do Google CloudEvents.
Fiabilidade e entrega
Não existe garantia de entrega por ordem de chegada. Tenha em atenção que ter uma ordenação rigorosa prejudicaria a disponibilidade e as funcionalidades de escalabilidade do Eventarc, que correspondem às da respetiva camada de transporte, o Pub/Sub. Para mais informações, consulte o artigo Ordenar mensagens.
A latência e a taxa de transferência são feitas com base no melhor esforço. Variam com base em vários fatores, incluindo se o tráfego de publicação ou de saída envolve diferentes regiões; a configuração de um serviço específico; e a carga de rede nos recursos numa Google Cloud região.
Tenha em atenção que existem quotas e limites de utilização que se aplicam geralmente ao Eventarc.
Política de repetição de eventos
A duração da retenção de mensagens predefinida definida pelo Eventarc Advanced é de 24 horas com um atraso de recuo exponencial.
O Eventarc Advanced usa um atraso de retirada exponencial para processar erros que podem ser repetidos. Este processo começa com um atraso de um segundo, e o atraso é duplicado após cada tentativa falhada (até um máximo de 60 segundos e 5 tentativas).
Para mais informações, consulte o artigo Volte a tentar enviar eventos.
Eventos duplicados
Os eventos duplicados podem ser enviados para controladores de eventos. De acordo com a
especificação CloudEvents,
a combinação dos atributos source
e id
é considerada única e, por isso, todos os eventos com a mesma combinação são considerados duplicados.
Deve implementar
processadores de eventos idempotentes
como prática recomendada geral.
Observabilidade
O Google Cloud Observability oferece ferramentas de monitorização, registo e diagnóstico. Estas ferramentas podem ajudar a monitorizar e analisar a atividade e o crescimento do Eventarc, e compreender o comportamento, o estado e o desempenho das suas aplicações. Para mais informações, consulte Observabilidade no Eventarc.
Os registos detalhados do Eventarc, Cloud Run, funções do Cloud Run, Pub/Sub e workflows estão disponíveis nos registos de auditoria do Cloud.
Normas de conformidade
O Eventarc está em conformidade com estas certificações e normas.