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.
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 |
|
Harmonizar |
|
Análise |
|
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:
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ção | Os 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 evento | Os 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ção | O 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 evento | Os 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ção | O 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 evento | Os 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.
Há 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
- Comece a usar o Eventarc com os guias de início rápido ou o Codelab.
- Crie um gatilho do Cloud Run, um gatilho do GKE ou um gatilho do Workflows.
- Resolver problemas