Visão geral de arquiteturas orientadas a eventos com o Eventarc

Você pode usar o Eventarc e o Firestore no modo Datastore para criar arquiteturas orientadas a eventos. O Firestore no modo Datastore fornece gatilhos para Eventarc que gera eventos com base em mudanças a uma entidade específica no banco de dados. O gatilho pode rotear eventos para um destino compatível:

O Eventarc oferece uma solução padronizada para gerenciar o fluxo de mudanças de estado, chamadas de eventos, entre microsserviços separados. Quando ele é acionado, O Eventarc encaminha esses eventos para vários destinos, gerenciando a entrega, a segurança, a autorização observabilidade e tratamento de erros.

Exemplos de casos de uso

Uma arquitetura orientada a eventos é um padrão de design de sistema em que os serviços reagem a mudanças de estado conhecidas como eventos. Você pode usar esse padrão junto com o escalonabilidade do Firestore para adicionar mais recursos ao seu app. Por exemplo, você pode adicionar os seguintes recursos:

  • Interoperabilidade entre diferentes pilhas de tecnologia

    Replicar seus dados e transformá-los antes de enviá-los para uma em um sistema de análise de dados.

  • Processamento paralelo

    Operações de distribuição para processamento paralelo. Se você tiver vários sistemas que operam com base em alterações de entidade, é possível usar os fluxos baseados em push em cada consumidor e encaminhar o evento para vários consumidores.

  • Streams de eventos baseados em push

    Criar designs de mensagens baseados em push. Os clientes podem receber notificações sem precisar pesquisar serviços remotos. Sem a latência de sondagem, você melhora o processamento de dados e a análise em tempo real.

  • Monitoramento e alertas de estado

    Use uma arquitetura orientada a eventos para adicionar às operações do banco de dados. Monitore e receba alertas sobre alterações e atualizações. Detectar anomalias.

Limitações

Observe as seguintes limitações para gatilhos do modo Datastore para Eventarc:

  • Não garantimos acionamentos em ordem. Alterações rápidas podem acionar eventos em uma ordem inesperada.
  • Os eventos são entregues pelo menos uma vez.

    Verifique se o manipulador de eventos é idempotente e evite produzir resultados inesperados ou efeitos colaterais quando um evento é exibido mais de uma vez. Consulte Como criar funções idempotentes para saber mais.

  • Um gatilho está associado a um único banco de dados. Não é possível criar um gatilho que corresponda a vários bancos de dados.

  • A exclusão de um banco de dados não remove automaticamente nenhum gatilho dele. O gatilho deixa de entregar eventos, mas continua existindo até que você o exclua.

Locais do Eventarc e do Firestore no modo Datastore

O Eventarc não oferece suporte a multirregiões para o evento do Firestore mas ainda é possível criar gatilhos para bancos de dados do Firestore em locais multirregionais. Mapas do Eventarc no Firestore locais multirregionais para as seguintes regiões do Eventarc:

Multirregião do Firestore Região do Eventarc
nam5 us-central1
eur3 europe-west4

Interoperabilidade de eventos no modo Datastore e no modo nativo

O Eventarc oferece suporte a gatilhos de eventos para o modo Datastore e nativo modo Esses gatilhos de evento são interoperáveis com os dois tipos de banco de dados. Um Firestore no banco de dados no modo nativo pode receber dados do Datastore eventos, e um banco de dados do Firestore no modo Datastore pode receber Eventos do modo nativo.

A interoperabilidade de eventos permite compartilhar o código do Eventarc Bancos de dados do Firestore de diferentes tipos.

Conversões de eventos

Se você aplicar um gatilho de evento do modo nativo a um Datastore no modo de banco de dados, o Eventarc faz as seguintes conversões:

  • O namespace da entidade é armazenado no atributo PartitionId do evento.
  • As entidades incorporadas são convertidas em tipos map do modo nativo.

A seguir