
Contador distribuído

Made by Firebase
Registra contadores de eventos em escala para aceitar gravações de alta velocidade no Cloud Firestore.
Como esta extensão funciona
Use essa extensão para adicionar um serviço de contador altamente escalonável ao app. Isso é ideal para aplicativos que contabilizam ações virais ou outras de alta velocidade, como visualizações, curtidas e compartilhamentos.
Como o Cloud Firestore tem o limite de uma gravação sustentada por segundo e por documento, na verdade, a extensão fragmenta as gravações nos documentos em uma subcoleção _counter_shards_
. Cada cliente adiciona apenas o próprio fragmento, enquanto os workers em segundo plano fornecidos pela extensão monitoram e agregam os fragmentos em um documento principal.
Veja alguns recursos da extensão:
- Escalona as atualizações de 0 a no máximo 10.000 por segundo.
- Aceita um número arbitrário de contadores no app.
- Funciona off-line e fornece compensação de latência no contador principal.
Essa extensão requer a lógica do cliente para funcionar. Nós oferecemos uma implementação de amostra de cliente TypeScript e o respectivo JavaScript compilado em versão reduzida. Use essa extensão em outras plataformas se você quiser desenvolver seu próprio código cliente com base na amostra fornecida.
Também fornecemos uma implantação de amostra do administrador do Node.js
Outras configurações
Antes de instalar a extensão, verifique se você configurou um banco de dados do Cloud Firestore no projeto do Firebase.
Depois da instalação, será preciso fazer o seguinte:
- Atualize as regras de segurança de bancos de dados.
- Use a amostra de cliente fornecida, a amostra de administrador do Node.js fornecida ou o próprio código de cliente para especificar o caminho do documento e aumentar os valores.
Você verá informações detalhadas sobre essas tarefas após a instalação da extensão.
Faturamento
Para instalar uma extensão, seu projeto precisa estar no plano Blaze, com pagamento por utilização
- Um pequeno valor será cobrado de você (geralmente cerca de US$ 0,01/mês) referente aos recursos do Firebase exigidos pela extensão, mesmo se não forem usados.
- Esta extensão usa outros serviços do Firebase e do Google Cloud Platform, que têm cobranças associadas caso o nível sem custos seja excedido:
- Cloud Firestore
- Cloud Functions (ambiente de execução Node.js 10+. Consulte as perguntas frequentes)
Como instalar a extensão
Como usar o Console do Firebase
Para instalar e gerenciar extensões, use o Console do Firebase.
Instalar usando o consoleComo usar a Firebase CLI
Para instalar e gerenciar extensões, também é possível usar a Firebase CLI:
Etapa 1: execute o comando npm (em inglês) a seguir para instalar a CLI ou atualizá-la para a versão mais recente.
npm install -g firebase-toolsNão está funcionando? Consulte a referência da Firebase CLI ou altere suas permissões do npm (em inglês).
Etapa 2: configurar um novo diretório do projeto no Firebase ou acessar um já configurado
Etapa 3: adicionar esta extensão ao seu manifesto de extensões ao ser executada
firebase ext:install firebase/firestore-counter --local --project=projectId_or_alias
Etapa 4 (opcional): testar a extensão localmente usando o Pacote de emuladores do Firebase
firebase emulators:start
Etapa 5: implantar as extensões do seu manifesto ao projeto
firebase deploy --only extensions --project=projectId_or_alias