Pode usar o Eventarc e o Firestore no modo Datastore para criar arquiteturas orientadas por eventos. O Firestore no modo Datastore fornece acionadores para o Eventarc que geram eventos a partir de alterações a uma determinada entidade na sua base de dados. O acionador pode encaminhar eventos para um destino suportado:
O Eventarc oferece uma solução padronizada para gerir o fluxo de alterações de estado, denominadas eventos, entre microsserviços separados. Quando acionado, o Eventarc encaminha estes eventos para vários destinos enquanto gere a entrega, a segurança, a autorização, a observabilidade e o processamento de erros por si.
Exemplos de utilização
Uma arquitetura orientada por eventos é um padrão de conceção de sistemas em que os serviços reagem a alterações no estado conhecidas como eventos. Pode usar este padrão juntamente com a escalabilidade do Firestore para adicionar mais funcionalidades à sua app. Por exemplo, pode adicionar as seguintes capacidades:
Interoperabilidade entre diferentes conjuntos de tecnologias
Replique os seus dados e transforme-os antes de os enviar para um sistema de estatísticas.
Processamento paralelo
Expansão das operações para processamento em paralelo. Se tiver vários sistemas que funcionam com base em alterações de entidades, pode usar as streams baseadas em push em cada consumidor e encaminhar o evento para vários consumidores.
Streams de eventos baseadas em push
Crie designs de mensagens baseadas em push. Os clientes podem receber notificações sem terem de sondar serviços remotos. Sem a latência de sondagem, pode realizar melhor o processamento de dados em tempo real e a análise em tempo real.
Monitorização e alertas de estado
Use uma arquitetura orientada por eventos para adicionar métricas personalizadas às operações da base de dados. Monitorize e receba alertas sobre alterações e atualizações. Detetar anomalias.
Limitações
Tenha em atenção as seguintes limitações para acionadores do modo Datastore para o Eventarc:
- A ordenação não é garantida. As alterações rápidas podem acionar eventos numa ordem inesperada.
Os eventos são entregues pelo menos uma vez.
Certifique-se de que o controlador de eventos é idempotente e evite produzir resultados inesperados ou efeitos secundários quando um evento é enviado mais do que uma vez. Consulte o artigo Criar funções idempotentes para saber mais.
Um acionador está associado a uma única base de dados. Não pode criar um acionador que corresponda a várias bases de dados.
A eliminação de uma base de dados não elimina automaticamente os acionadores dessa base de dados. O acionador deixa de enviar eventos, mas continua a existir até eliminar o acionador.
Localizações do Eventarc e do Firestore no modo Datastore
O Eventarc não suporta várias regiões para acionadores de eventos do Firestore, mas ainda pode criar acionadores para bases de dados do Firestore em localizações de várias regiões. O Eventarc mapeia localizações 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 do modo Datastore e do modo nativo
O Eventarc suporta acionadores de eventos para o modo Datastore e o modo nativo. Estes acionadores de eventos são interoperáveis com ambos os tipos de bases de dados. Uma base de dados do Firestore no modo nativo pode receber eventos do Datastore e uma base de dados do Firestore no modo Datastore pode receber eventos do modo nativo.
A interoperabilidade de eventos permite-lhe partilhar código do Eventarc em bases de dados do Firestore de diferentes tipos.
Conversões de eventos
Se aplicar um acionador de eventos do modo nativo a uma base de dados do modo Datastore, o Eventarc faz as seguintes conversões:
- O espaço de nomes da entidade é armazenado no atributo
PartitionId
do evento. - As entidades incorporadas são convertidas em tipos de modo nativo
map
.
O que se segue?
- Saiba mais sobre as arquiteturas orientadas por eventos.