Visão geral das arquiteturas orientadas por eventos com o Eventarc

É possível usar o Eventarc e o Firestore no modo Datastore para criar arquiteturas orientadas por eventos. O Firestore no modo Datastore fornece gatilhos para o Eventarc que geram eventos de alterações em uma entidade específica do seu 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 acionado, o Eventarc encaminha esses eventos para vários destinos enquanto gerencia entrega, segurança, autorização, observabilidade e tratamento de erros para você.

Exemplos de casos de uso

Uma arquitetura orientada por eventos é um padrão de design do sistema em que os serviços reagem a mudanças de estado conhecidas como eventos. É possível usar esse padrão com a escalonabilidade do Firestore para adicionar mais recursos ao app. Por exemplo, é possível adicionar as seguintes funcionalidades:

  • Interoperabilidade entre diferentes pilhas de tecnologia

    Replique e transforme seus dados antes de enviá-los a um sistema de análise.

  • Processamento paralelo

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

  • Fluxos 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 pesquisa, é possível realizar melhor o processamento de dados em tempo real e a análise em tempo real.

  • Monitoramento e alertas de estado

    Use uma arquitetura orientada por eventos para adicionar métricas personalizadas às operações de banco de dados. Monitore e receba alertas sobre mudanças e atualizações. Detecte anomalias.

Limitações

Observe as seguintes limitações para os gatilhos do Firestore no 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 ou efeitos colaterais inesperados quando um evento for entregue mais de uma vez. Consulte Como criar funções idempotentes para saber mais.

Limitação da visualização

A limitação a seguir se aplica ao pré-lançamento deste recurso:

Locais do Eventarc e Firestore no modo Datastore

O Eventarc não oferece suporte a multirregiões para acionadores de eventos do Firestore, mas ainda é possível criar gatilhos para bancos de dados do Firestore em locais multirregionais. O Eventarc mapeia os locais multirregionais do Firestore 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 é compatível com gatilhos de eventos no modo Datastore e no modo nativo. Esses gatilhos de eventos são interoperáveis com os dois tipos de banco de dados. Um banco de dados do Firestore em modo nativo pode receber eventos do Datastore, e um do Firestore no modo Datastore pode receber eventos do modo nativo.

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

Conversões de eventos

Se você aplicar um acionador de evento do modo nativo a um banco de dados do modo Datastore, o Eventarc fará as seguintes conversões:

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

A seguir