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. O Eventarc encaminha esses eventos para o Cloud Run, gerenciando a entrega, a segurança, a autorização, a observabilidade e o tratamento de erros para você.

Arquitetura do Eventarc

Gerencie o Eventarc no Console do Google Cloud (usando o Cloud Run), na linha de comando com o SDK do Cloud ou usando a API Eventarc.

Principais casos de uso

O Eventarc aceita muitos casos de uso de aplicativos executados no Cloud Run. Alguns exemplos:

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.

Para ver uma lista dos eventos compatíveis com o Eventarc, consulte Eventos compatíveis com o Eventarc.

Origens de eventos

Os eventos são encaminhados de um produtor 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 aceita eventos dos dois tipos de origens a seguir:

  • Mais de 90 origens do Google Cloud. Os eventos dessas origens são entradas de registros de auditoria do Cloud e usam o núcleo de eventos e o Pub/Sub como a camada de transporte.
  • Origens personalizadas. Os eventos de aplicativos personalizados usam o Pub/Sub para enviar mensagens de notificação de eventos.

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

Destinos de eventos

Os eventos são roteados para um destino específico, o destino, conhecido como receptor (ou consumidor) do evento. Atualmente, o Cloud Run é o único receptor de eventos do Eventarc. Saiba como criar um serviço receptor de eventos que pode ser implantado no Cloud Run.

Formato e bibliotecas de eventos

O Eventarc entrega eventos, independentemente da origem, ao serviço de destino do Cloud Run em um formato do CloudEvents usando 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.

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. Para mais informações, consulte Como desenvolver receptores de eventos.

gatilhos do Eventarc

Os eventos ocorrem mesmo que você responda ou não a eles. A resposta a um evento é criada com um gatilho. Um gatilho é uma declaração de que você tem interesse em um determinado evento ou conjunto de eventos e vincular um serviço do Cloud Run a um gatilho permite capturar e tomar uma atitude em eventos específicos. Para mais informações, consulte Como criar um gatilho e a Representação REST de um recurso de gatilho.

O Eventarc é compatível com dois tipos de gatilho:

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. O Catálogo de registros de auditoria do Cloud inclui um diretório de valores serviceName e methodName.
Tipo de filtro do eventoOs gatilhos do Eventarc com type=google.cloud.audit.log.v1.written enviam solicitações para o serviço do Cloud Run 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 de eventosOs gatilhos do Eventarc com type=google.cloud.pubsub.topic.v1.messagePublished enviam solicitações para o serviço do Cloud Run quando uma mensagem é publicada no tópico do gatilho especificado.

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 em oito regiões. O Eventarc não está disponível em locais birregionais e multirregionais. No entanto, é possível criar um gatilho global (não aplicável a eventos do Pub/Sub) e receber eventos de todas as regiões. Para mais informações, consulte 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 evitar 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, será presumido que o serviço está na mesma região que o gatilho. Para mais informações, consulte a referência da ferramenta de linha de comando gcloud.

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 ao Eventarc quando usados com o Cloud Run.

Política de repetição de eventos

As falhas de emissão de eventos são automaticamente repetidas, exceto para erros que não justificam novas tentativas. Isso corresponde às características da repetição da camada de transporte do Eventarc, Cloud Pub/Sub. Se o serviço do Cloud Run não estiver confirmando mensagens, o Pub/Sub retrá eventos por sete dias por padrão e tentará enviar eventos novamente para o destino. Para mais informações, consulte Limites de recursos do Pub/Sub.

Observabilidade

Os registros detalhados estão disponíveis em:

A seguir