Visão geral do Eventarc

O Eventarc permite que você crie arquiteturas orientadas a eventos sem ter que implementar, personalizar ou manter a infraestrutura subjacente. Ele oferece uma solução padronizada para gerenciar o fluxo de alterações de estado, chamadas de eventos, entre microsserviços separados. Quando acionado, o Eventarc encaminha esses eventos por meio de assinaturas do Pub/Sub para vários destinos (neste documento, consulte Destinos de eventos). enquanto gerencia a entrega, a segurança, a autorização, a observabilidade e o tratamento de erros para você.

É possível gerenciar o Eventarc no Console do Google Cloud, na linha de comando, usando a CLI gcloud ou a API Eventarc.

O Eventarc está em conformidade com estas certificações e padrões.

Arquitetura do Eventarc

1 Eventos de provedores do Google Cloud são enviados diretamente da origem (Cloud Storage, por exemplo) ou usando entradas de registros de auditoria do Cloud, e Pub/Sub como a camada de transporte. Os eventos de origens do Pub/Sub podem usar um tópico existente do Pub/Sub ou o Eventarc criará um tópico automaticamente e o gerenciará para você.

2 Os eventos para destinos do GKE usam o encaminhador de eventos do Eventarc para extrair novos eventos do Pub/Sub e encaminhá-los para o destino de dados. Esse componente atua como mediador entre a camada de transporte do Pub/Sub e o serviço de destino. Ele funciona em serviços atuais e também oferece suporte a serviços de sinalização (incluindo os não expostos fora do cluster totalmente gerenciado), além de simplificar a configuração e a manutenção. O ciclo de vida do encaminhador de eventos é gerenciado pelo Eventarc. Se você excluir acidentalmente o encaminhador de eventos, o Eventarc restaurará esse componente.

3Os eventos de uma execução de fluxo de trabalho são transformados e transmitidos para o fluxo de trabalho como argumentos de tempo de execução. Os fluxos de trabalho podem combinar e orquestrar serviços do Google Cloud e de APIs baseados em HTTP na ordem que você definir.

Principais casos de uso

O Eventarc é compatível com muitos casos de uso para aplicativos de destino. Por exemplo:

Configurar e monitorar
  • Configuração do sistema: instale uma ferramenta de gerenciamento de configuração em uma nova VM assim que ela for iniciada.
  • Corrigir automaticamente: detecta se um serviço não está respondendo corretamente e o reinicia automaticamente.
  • Alertas e notificações: monitore o saldo de um endereço de carteira de criptomoeda e acione notificações.
Harmonizar
  • Registros do diretório: ative um selo de funcionário assim que um novo funcionário entrar em uma empresa.
  • Sincronização de dados: acione um fluxo de trabalho de contabilidade quando um cliente em potencial for convertido em um sistema de CRM.
  • Rotulagem de recursos: rotule e identifique o criador de uma VM quando ela for criada.
Análise
  • Análise de sentimento: use a API Cloud Natural Language para treinar e implantar um modelo de ML que anexe um índice de satisfação a um tíquete de atendimento ao cliente assim que ele for concluído.
  • Reprocessamento e análise de imagens: remova o plano de fundo e categorize automaticamente uma imagem quando um varejista a adicionar a um armazenamento de objetos.

Eventos

Um evento é um registro de dados que expressa uma ocorrência e o contexto dela. Um evento é uma unidade distinta de comunicação, independente de outros eventos. Por exemplo, um evento pode ser uma alteração de dados em um banco de dados, um arquivo adicionado a um sistema de armazenamento ou um job programado.

Consulte Tipos de evento compatíveis com o Eventarc.

Provedores de eventos

Os eventos são encaminhados de um provedor de eventos (a origem) para consumidores de eventos interessados. O roteamento é realizado com base nas informações contidas no evento, mas um evento não identifica um destino de roteamento específico. Atualmente, o Eventarc é compatível com eventos dos seguintes provedores:

  • Mais de 90 provedores do Google Cloud Esses provedores enviam eventos diretamente da origem (por exemplo, Cloud Storage) ou usando entradas de registros de auditoria do Cloud.
  • Provedores do Pub/Sub. Esses provedores enviam eventos para o Eventarc usando mensagens do Pub/Sub.

Destinos de eventos

Os eventos são roteados para um destino específico (o destino) conhecido como receptor (ou consumidor) do evento por uma assinatura de push do Pub/Sub.

Cloud Run

Saiba como criar um serviço receptor de eventos que pode ser implantado no Cloud Run.

Para determinar a melhor maneira de encaminhar eventos para um serviço do Cloud Run, consulte Opções de roteamento do evento.

GKE

O Eventarc é compatível com a criação de gatilhos direcionados aos serviços do Google Kubernetes Engine (GKE). Isso inclui serviços particulares e públicos do Cloud Run for Anthos em execução em um cluster do GKE.

  • Para que o Eventarc segmente e gerencie serviços em qualquer cluster, conceda todas as permissões necessárias à conta de serviço do Eventarc.

  • Ative a Identidade da carga de trabalho no cluster do GKE em que o serviço de destino está sendo executado. A Identidade da carga de trabalho é necessária para configurar corretamente o Encaminhador de eventos e é a maneira indicada de acessar os serviços do Google Cloud a partir de aplicativos executados no GKE devido às propriedades de segurança e capacidade de gerenciamento. Saiba mais em Como usar a Identidade da carga de trabalho.

Workflows

Uma execução do fluxo de trabalho é acionada por mensagens publicadas em um tópico do Pub/Sub, quando um registro de auditoria é criado que corresponde aos critérios de filtro do gatilho ou em resposta a vários eventos dentro de um Cloud Storage bucket: criação de objetos, exclusão, arquivamento e atualizações de metadados.

Os fluxos de trabalho exigem um e-mail da conta de serviço do IAM que o gatilho do Eventarc usará para invocar as execuções do fluxo de trabalho. Recomendamos o uso de uma conta de serviço com os privilégios mínimos necessários para acessar os recursos necessários. Para saber mais sobre contas de serviço, consulte Criar e gerenciar contas de serviço.

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. O CloudEvents é uma especificação para descrever metadados de eventos de maneira comum, na base de computação nativa da nuvem, e organizado pelo grupo de trabalho sem servidor da fundação.

Os destinos de destino do Cloud Run e do GKE consomem eventos no formato HTTP. No entanto, para destinos, os serviços do Workflows convertem o evento em um objeto JSON (seguindo a especificação JSON CloudEvents) e transmite o evento para a execução do fluxo de trabalho. como um argumento de tempo de execução.

O uso de uma maneira padrão para descrever metadados de evento garante consistência, acessibilidade e portabilidade. Os consumidores de eventos podem ler esses eventos diretamente ou usar os SDKs e bibliotecas do Google CloudEvents em várias linguagens (incluindo C#, Go, Java, Node.js e Python) para ler e analisar os eventos:

Bibliotecas de análise do Eventarc

A estrutura do corpo HTTP de todos os eventos está disponível no repositório GitHub de eventos do Google Cloud.

Compatibilidade com versões anteriores

O Eventarc considera a adição dos seguintes atributos e campos compatíveis com versões anteriores:

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

gatilhos do Eventarc

Os eventos ocorrem independentemente de o destino reagir a eles. Crie uma resposta a um evento com um gatilho. Ele é uma declaração de que você tem interesse em um determinado evento ou grupo de eventos. Ao criar um acionador, você especifica filtros que permitem capturar e tomar ações sobre esses eventos específicos, incluindo o roteamento de uma fonte de eventos para um destino. Para mais informações, consulte a representação REST de um recurso de gatilho e saiba como criar um gatilho.

Observe que as assinaturas do Pub/Sub criadas para o Eventarc permanecem independentemente da atividade e não expiram. Para alterar as propriedades da assinatura, consulte Gerenciar assinaturas.

O Eventarc é compatível com gatilhos para esses tipos de evento:

Eventos de registros de auditoria do Cloud (CAL)
DescriçãoOs registros de auditoria do Cloud fornecem registros de auditoria de atividade do administrador e acesso a dados para cada projeto, pasta e organização do Cloud. Os serviços do Google Cloud gravam entradas nesses registros. Essa lista de eventos compatíveis inclui um diretório de valores serviceName e methodName.
Tipo de filtro do eventoOs gatilhos d o Eventarc com type=google.cloud.audit.log.v1.written enviam solicitações para seu serviço ou fluxo de trabalho quando um registro de auditoria é criado e corresponde aos critérios de filtro do gatilho.
Eventos do Cloud Pub/Sub
DescriçãoO Eventarc pode ser acionado por mensagens publicadas nos tópicos do Pub/Sub. Pub/Sub é um barramento de mensagens distribuído globalmente que é escalonado automaticamente conforme necessário. Como o Eventarc pode ser invocado por mensagens em um tópico do Pub/Sub, é possível integrar facilmente o Eventarc a qualquer outro serviço compatível com o Pub/Sub como destino.
Tipo de filtro do eventoOs gatilhos do Eventarc com type=google.cloud.pubsub.topic.v1.messagePublished enviam solicitações ao serviço ou fluxo de trabalho quando uma mensagem é publicada no tópico Pub/Sub especificado.
Eventos diretos
DescriçãoO Eventarc pode ser acionado por vários eventos diretos, como uma atualização de um bucket do Cloud Storage ou uma atualização de um modelo do Configuração remota do Firebase.
Tipo de filtro do eventoOs gatilhos do Eventarc com tipos específicos de filtro de evento enviam solicitações ao seu serviço ou fluxo de trabalho quando ocorre um evento que corresponde aos critérios de filtro do gatilho. por exemplo: type=google.cloud.storage.object.v1.finalized.

Local do gatilho

Os serviços do Google Cloud, 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 criar gatilhos regionais ou, em alguns eventos, um gatilho global e receber eventos de todas as regiões. Para ver mais informações, consulte Entender os locais do Eventarc.

Especifique o local do gatilho do Eventarc para corresponder ao local do serviço do Google Cloud que está gerando eventos e evite problemas de desempenho e residência de dados causados por um gatilho global.

É possível especificar locais de gatilho usando uma sinalização --location com cada comando. Se uma sinalização --destination-run-region não for especificada, presume-se que o serviço esteja na mesma região que o gatilho. Para mais informações, consulte a referência da CLI do Google Cloud.

Confiabilidade e entrega

As expectativas de exibição são as seguintes:

  • Os eventos que usam os registros de auditoria do Cloud são entregues em menos de um minuto
  • Os eventos que usam Pub/Sub são enviados em segundos

Não há garantia de entrega por ordem de chegada. A ordem estrita prejudicaria os recursos de disponibilidade e escalonabilidade do Eventarc que correspondem aos da camada de transporte, o Cloud Pub/Sub. Para mais informações, consulte Como ordenar mensagens.

A latência e a capacidade são os melhores esforços. Elas variam com base em vários fatores, incluindo se o gatilho do Eventarc é regional, multirregional ou global; a configuração de um serviço específico; e a carga da rede nos recursos de uma região do Google Cloud.

cotas e limites de uso que se aplicam geralmente ao Eventarc. Há também cotas e limites de uso específicos do Workflows.

Política de repetição de eventos

As características de nova tentativa do Eventarc correspondem às da camada de transporte, o Cloud Pub/Sub. Para mais informações, consulte Como repetir solicitações. A configuração de nova tentativa padrão é de 24 horas com um atraso de espera exponencial. É possível atualizar a política de nova tentativa usando a assinatura do Pub/Sub associada ao acionador do Eventarc: Abrir a página de detalhes do acionador, clique no tópico e na guia Assinaturas. Qualquer assinatura criada automaticamente pelo Eventarc terá este formato: projects/PROJECT_ID/subscriptions/eventarc-REGION-TRIGGER_ID-sub-SUBSCRIPTION_ID.

Se o Pub/Sub tentar entregar uma mensagem, mas o destino não conseguir confirmá-la, a ferramenta repetirá o envio. Se as condições do destino que impediram a confirmação da mensagem não tiverem mudado, a mensagem continuará sendo reenviada, mas não será recebida no destino. Para resolver esse problema, configure uma política de repetição de assinatura do Pub/Sub ou encaminhe mensagens não entregues para um tópico de mensagens inativas (também conhecido como fila de mensagens inativas). Para saber mais, consulte Como corrigir falhas nas mensagens. Por exemplo, se o serviço de destino não estiver confirmando as mensagens, o Pub/Sub manterá os eventos por sete dias por padrão e tentará enviar os eventos novamente para o destino. Para mais informações, consulte Limites de recursos do Pub/Sub.

Quando os aplicativos usam o Pub/Sub como a origem do evento e o evento não é entregue, o evento é repetido automaticamente, exceto por erros que não garantem novas tentativas. O Workflows reconhece eventos assim que a execução do fluxo de trabalho é iniciada. Os eventos para o destino do fluxo de trabalho de qualquer origem não serão repetidos se o fluxo de trabalho não for executado. Se a execução do fluxo de trabalho começar, mas depois falhar, as execuções não serão repetidas. Para resolver esses problemas de serviço, você precisa processar erros e novas tentativas no fluxo de trabalho.

Observabilidade

Registros detalhados deEventarc ,Cloud Run ,Cloud Run for Anthos ,o Pub/Sub; eFluxos de trabalho estão disponíveis nos registros de auditoria do Cloud.

A seguir