Vista geral do Eventarc Standard

O Eventarc permite-lhe criar arquiteturas orientadas por eventos 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 Standard oferece uma solução padronizada para gerir o fluxo de alterações de estado, denominadas eventos, entre microsserviços separados. Quando acionados, o Eventarc Standard encaminha estes eventos para vários destinos (neste documento, consulte Destinos de eventos), ao mesmo tempo que gere a entrega, a segurança, a autorização, a observabilidade e o processamento de erros por si.

Pode gerir o Eventarc a partir da Google Cloud consola, da linha de comandos através da CLI gcloud ou através da API Eventarc.

O Eventarc encaminha eventos de fornecedores de eventos para destinos de eventos. O Eventarc Standard permite-lhe encaminhar eventos de fornecedores de eventos para destinos de eventos (clique no diagrama para aumentar).

1 Eventos de fornecedores Google são enviados diretamente da origem (por exemplo, o Cloud Storage) ou através de entradas dos registos de auditoria do Google Cloud e usam o Pub/Sub como a camada de transporte. Os eventos de origens Pub/Sub podem usar um tópico Pub/Sub existente ou o Eventarc cria automaticamente um tópico e gere-o por si.

2 Eventos para destinos do Google Kubernetes Engine (GKE), incluindo serviços Knative em execução num cluster do GKE, usam o encaminhador de eventos do Eventarc para obter novos eventos do Pub/Sub e encaminhá-los para o destino. Este componente funciona como um mediador entre a camada de transporte do Pub/Sub e o serviço de destino. Funciona em serviços existentes e também suporta serviços de sinalização (incluindo os que não estão expostos fora do cluster totalmente gerido), ao mesmo tempo que simplifica a configuração e a manutenção. Tenha em atenção que o ciclo de vida do encaminhador de eventos é gerido pelo Eventarc e, se eliminar acidentalmente o encaminhador de eventos, o Eventarc restaura este componente.

3 Os eventos para uma execução do fluxo de trabalho são transformados e transmitidos ao fluxo de trabalho como argumentos de tempo de execução. Os fluxos de trabalho podem combinar e orquestrar Google Cloud e serviços de API baseados em HTTP numa ordem que define.

4 Todas as funções acionadas por eventos nas funções do Cloud Run usam acionadores do Eventarc para fornecer eventos. Pode configurar acionadores do Eventarc quando implementa uma função do Cloud Run através da interface de funções do Cloud Run.

Principais exemplos de utilização

O Eventarc suporta muitos exemplos de utilização para aplicações de destino. Alguns exemplos:

Configure e monitorize
  • Configuração do sistema: instale uma ferramenta de gestão de configuração numa nova VM quando é iniciada.
  • Remediação automática: deteta se um serviço não está a responder corretamente e reinicia-o automaticamente.
  • Alertas e notificações: monitorize o saldo de uma morada de carteira de criptomoedas e acione notificações.
Harmonize
  • Registos de diretórios: ative um cartão de identificação de funcionário quando um novo funcionário entra numa empresa.
  • Sincronização de dados: acione um fluxo de trabalho de contabilidade quando um potencial cliente é convertido num sistema de CRM.
  • Etiquetagem de recursos: etiquete e identifique o criador de uma VM quando esta é criada.
Analisar
  • Análise de sentimentos: use a Cloud Natural Language API para formar e implementar um modelo de ML que atribui uma classificação de satisfação a um pedido de serviço de apoio ao cliente quando é concluído.
  • Retoque e análise de imagens: remova o fundo e categorize automaticamente uma imagem quando um retalhista a adiciona a uma loja de objetos.

Eventos

Um evento é um registo de dados que expressa uma ocorrência e o respetivo contexto. 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.

Consulte os tipos de eventos Google suportados pelo Eventarc.

Fornecedores de eventos

Os eventos são encaminhados de um fornecedor de eventos (a origem) para os consumidores de eventos interessados. O encaminhamento é realizado com base nas informações contidas no evento, mas um evento não identifica um destino de encaminhamento específico. O Eventarc suporta eventos de mais de 130 fornecedores Google. Estes fornecedores enviam eventos (por exemplo, uma atualização a um objeto num contentor do Cloud Storage ou uma mensagem publicada num tópico do Pub/Sub) diretamente a partir da origem ou através de entradas dos registos de auditoria do Cloud.

Destinos de eventos

Os eventos são encaminhados para um destino específico (o destino) conhecido como o recetor de eventos (ou consumidor) através de subscrições push do Pub/Sub.

Cloud Run

Saiba como criar um serviço de receção de eventos que pode ser implementado no Cloud Run.

Para determinar a melhor forma de encaminhar eventos para um serviço do Cloud Run, consulte Rotas de eventos.

Funções do Cloud Run

Todas as funções orientadas por eventos nas funções do Cloud Run usam acionadores do Eventarc para fornecer eventos. Um acionador do Eventarc permite que uma função seja acionada por qualquer tipo de evento suportado pelo Eventarc. Pode configurar acionadores do Eventarc quando implementa uma função do Cloud Run através da interface de funções do Cloud Run.

GKE

O Eventarc suporta a criação de acionadores que segmentam serviços do Google Kubernetes Engine (GKE). Isto inclui os pontos finais públicos de serviços privados e públicos executados num cluster do GKE.

  • Para que o Eventarc possa segmentar e gerir serviços num determinado cluster, tem de conceder à conta de serviço do Eventarc todas as autorizações necessárias.

  • Tem de ativar a federação de identidades da carga de trabalho para o GKE no cluster do GKE no qual o serviço de destino está a ser executado. A Workload Identity Federation para o GKE é necessária para configurar corretamente o encaminhador de eventos e é a forma recomendada de aceder aos serviços a partir de aplicações em execução no GKE devido às suas propriedades de segurança e capacidade de gestão melhoradas. Google Cloud Para mais informações, consulte o artigo Ative a identidade da carga de trabalho.

Pontos finais HTTP internos numa rede de VPC

Pode configurar o encaminhamento de eventos para um ponto final HTTP interno numa rede de nuvem virtual privada (VPC). Para configurar o acionador, também tem de fornecer um ID de anexo de rede. Para mais informações, consulte o artigo Encaminhe eventos para um ponto final HTTP interno numa rede VPC.

Workflows

Pode acionar a execução de um fluxo de trabalho. Os fluxos de trabalho requerem um email de conta de serviço do IAM que o seu acionador do Eventarc vai usar para invocar as execuções do fluxo de trabalho. Recomendamos que use uma conta de serviço com o menor número de privilégios necessários para aceder aos recursos necessários. Para mais informações, consulte o artigo Crie e faça a gestão de contas de serviço.

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.

Consoante o fornecedor de eventos, pode especificar a codificação dos dados de payload do evento como application/json ou application/protobuf. Os Protocol Buffers (ou Protobuf) são um mecanismo extensível independente da linguagem e da plataforma para serializar dados estruturados. Tenha em conta o seguinte:

  • Para origens personalizadas ou fornecedores externos, ou para eventos diretos do Pub/Sub, esta opção de formatação não é suportada.
  • Uma carga útil de eventos formatada em JSON é maior do que uma formatada em Protobuf e isto pode afetar a fiabilidade, consoante o destino do evento e os respetivos limites de tamanho do evento. Para mais informações, consulte a secção Problemas conhecidos.

Os destinos, como as funções do Cloud Run, o Cloud Run e o GKE, consomem eventos no formato HTTP. Para destinos de fluxos de trabalho, 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 para descrever os metadados de eventos garante 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.

O Eventarc envia eventos num formato CloudEvents. Pode ler eventos diretamente ou usar os SDKs ou as bibliotecas do Google CloudEvents para analisar os eventos.
Figura 2. O Eventarc envia eventos num formato CloudEvents para destinos de eventos. Pode ler estes eventos diretamente ou usar os SDKs CloudEvents ou as bibliotecas Google para ler e analisar os eventos.

Retrocompatibilidade

O Eventarc considera a adição dos seguintes atributos e campos retrocompatíveis:

  • Atributos de filtragem opcionais ou atributos apenas de saída
  • Campos opcionais para o payload do evento

Acionadores do Eventarc

Os eventos ocorrem independentemente de um destino reagir ou não a eles. Cria uma resposta a um evento com um acionador. Um acionador é uma declaração de que tem interesse num determinado evento ou conjunto de eventos. Quando cria um acionador, especifica filtros para o acionador que lhe permitem capturar e agir nesses eventos específicos, incluindo o respetivo encaminhamento de uma origem de eventos para um destino específico. Para mais informações, consulte a representação REST de um recurso de acionador e os fornecedores e destinos de eventos.

Tenha em atenção que as subscrições do Pub/Sub criadas para o Eventarc persistem independentemente da atividade e não expiram. Para alterar as propriedades da subscrição, consulte o artigo Propriedades da subscrição.

O Eventarc suporta acionadores para estes tipos de eventos:

Eventos dos registos de auditoria da nuvem (CAL)
DescriçãoOs registos de auditoria do Cloud fornecem registos de auditoria da atividade do administrador e de acesso aos dados para cada projeto, pasta e organização do Cloud. Os Google Cloud serviços escrevem entradas nestes registos. Pode criar filtros para acionadores do Eventarc através dos valores serviceName e methodName nos registos de auditoria. Para ver os valores exatos, consulte os Google Cloud serviços com registos de auditoria. Para mais informações, consulte o artigo Determine os filtros de eventos para os registos de auditoria do Cloud.
Tipo de filtro de eventosOs acionadores do Eventarc com type=google.cloud.audit.log.v1.written enviam pedidos para o seu serviço ou fluxo de trabalho quando é criado um registo de auditoria que corresponde aos critérios de filtro do acionador.
Eventos diretos
DescriçãoO Eventarc pode ser acionado por vários eventos diretos, como uma atualização a um contentor do Cloud Storage, uma atualização a um modelo do Firebase Remote Config ou alterações aos recursos nos Google Cloud serviços.

O Eventarc também pode ser acionado por mensagens publicadas em tópicos do Pub/Sub. O Pub/Sub é um barramento de mensagens distribuído globalmente que é dimensionado automaticamente conforme necessário. Uma vez que o Eventarc pode ser invocado por mensagens num tópico do Pub/Sub, pode integrar o Eventarc com qualquer outro serviço que suporte o Pub/Sub como destino.

Tipo de filtro de eventosOs acionadores do Eventarc com tipos de filtros de eventos específicos enviam pedidos ao seu serviço ou fluxo de trabalho quando ocorre um evento que corresponde aos critérios de filtro do acionador; por exemplo, type=google.cloud.storage.object.v1.finalized (quando um objeto é criado num contentor do Cloud Storage) ou type=google.cloud.pubsub.topic.v1.messagePublished (quando uma mensagem é publicada no tópico do Pub/Sub especificado).

Localização do acionador

Google Cloud serviços como o Cloud Storage podem ser configurados para serem regionais ou multirregionais. Alguns serviços, como o Cloud Build, podem ser configurados globalmente.

O Eventarc permite-lhe criar acionadores regionais ou, para alguns eventos, pode criar um acionador global e receber eventos de todas as regiões. Para mais informações, consulte o artigo Compreenda as localizações do Eventarc.

Deve especificar a localização do acionador do Eventarc para corresponder à localização do serviço Google Cloudque está a gerar eventos e evitar problemas de desempenho e residência de dados causados por um acionador global.

Pode especificar localizações de acionamento através de uma flag --location com cada comando. Para destinos do Cloud Run, se não for especificada uma flag --destination-run-region, assume-se que o serviço está na mesma região que o acionador. Para mais informações, consulte a referência da CLI Google Cloud.

Fiabilidade e entrega

As expetativas de entrega são as seguintes:

  • Os eventos que usam os registos de auditoria do Google Cloud são entregues em menos de um minuto. (Tenha em atenção que, embora um acionador dos registos de auditoria do Google Cloud seja criado imediatamente, pode demorar até dois minutos para que um acionador propague e filtre eventos.)
  • Os eventos que usam o Pub/Sub são entregues em segundos.

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 Cloud 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 acionador do Eventarc é regional, multirregional ou global; a configuração de um serviço específico; e a carga de rede nos recursos numa região. Google Cloud

Tenha em atenção que existem quotas e limites de utilização que se aplicam geralmente ao Eventarc. Também existem limites e quotas de utilização específicos dos fluxos de trabalho.

Política de repetição de eventos

As caraterísticas de repetição do Eventarc correspondem às da respetiva camada de transporte, o Cloud Pub/Sub. A duração predefinida da retenção de mensagens definida pelo Eventarc é de 24 horas com um atraso de recuo exponencial.

Pode atualizar a política de repetição através da subscrição do Pub/Sub associada ao acionador do Eventarc. Para mais informações, consulte o artigo Tentar novamente eventos.

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, GKE, Pub/Sub e workflows estão disponíveis nos registos de auditoria da nuvem.

Recuperação de desastres

Pode tirar partido das zonas e das regiões para alcançar a fiabilidade em caso de interrupções. Para saber como garantir que os objetivos de tempo de recuperação (RTO) e de ponto de recuperação (RPO) são cumpridos para os tempos de cópia de segurança e recuperação quando usar o Eventarc, consulte o artigo Arquitetar a recuperação de desastres para interrupções da infraestrutura na nuvem.

Normas de conformidade

O Eventarc Standard está em conformidade com certificações e normas específicas. Para evitar a utilização de recursos avançados do Eventarc não conformes, pode criar uma política de organização personalizada que desative os recursos avançados do Eventarc. Para mais informações, consulte o artigo Desative os recursos avançados do Eventarc.

O que se segue?