
Contadores distribuidos

Made by Firebase
Registra contadores de eventos a gran escala que admiten operaciones de escritura de alta velocidad en Cloud Firestore.
Cómo funciona esta extensión
Usa esta extensión para agregar un servicio de contador con alta escalabilidad a tu app. Es ideal para aplicaciones que hacen recuentos de acciones virales o de cualquier otra acción de alta velocidad, como la cantidad de vistas, me gusta o veces que se compartió un elemento.
Puesto que Cloud Firestore tiene un límite de uso sostenido de una sola operación de escritura por segundo en cada documento, esta extensión fragmenta las operaciones de escritura de los documentos en una subcolección llamada _counter_shards_
. Cada cliente incrementa solo el valor del fragmento único que le corresponde, mientras los trabajadores de segundo plano que proporciona la extensión supervisan y agregan esos fragmentos a un documento principal
Estas son algunas de las funciones de esta extensión:
- Escala de 0 actualizaciones por segundo a un máximo de 10,000.
- Admite una cantidad arbitraria de contadores en tu app.
- Funciona sin conexión y proporciona compensación de latencia para el contador principal.
Ten en cuenta que esta extensión necesita lógica del cliente para funcionar. Proporcionamos una muestra de implementación de cliente TypeScript y su compilación de JavaScript reducida. Puedes usar esta extensión en otras plataformas si quieres desarrollar tu propio código cliente a partir de la muestra.
También proporcionamos una implementación de muestra de administrador de Node.js
Configuración adicional
Antes de instalar esta extensión, asegúrate de tener una base de datos de Cloud Firestore configurada en tu proyecto de Firebase.
Después de la instalación, deberás hacer lo siguiente:
- Actualiza las reglas de seguridad de la base de datos.
- Usa la muestra de cliente o la muestra de administrador de Node.js que se proporcionan o tu propio código de cliente para especificar la ruta de acceso de tu documento y los valores de incremento.
Una vez que instales la extensión, obtendrás información detallada sobre estas tareas posteriores a la instalación.
Facturación
Para instalar una extensión, tu proyecto debe tener el plan Blaze (prepago)
- Se te cobrará un importe pequeño (aproximadamente $0.01 al mes) por los recursos de Firebase que esta extensión requiere (incluso si no se usan).
- Esta extensión usa otros servicios de Firebase y Google Cloud Platform, que tienen cargos asociados si excedes el nivel sin costo:
- Cloud Firestore
- Cloud Functions (entorno de ejecución de Node.js 10+. consulta las Preguntas frecuentes)
Cómo instalar esta extensión
Usa Firebase console
Puedes usar Firebase console para instalar y administrar las extensiones.
Instala con consoleUsa Firebase CLI
También puedes usar Firebase CLI para instalar y administrar las extensiones.
Paso 1: Ejecuta el siguiente comando npm para instalar la CLI o actualizarla a la versión más reciente.
npm install -g firebase-tools¿No funciona? Consulta la referencia de Firebase CLI o cambia tus permisos de npm.
Paso 2: Configura un nuevo directorio de proyecto de Firebase o navega a uno existente
Paso 3: Agrega esta extensión al manifiesto de tu extensión ejecutando
firebase ext:install firebase/firestore-counter --local --project=projectId_or_alias
Paso 4 (opcional): Prueba la extensión localmente con Firebase Emulator Suite
firebase emulators:start
Paso 5: Implementa las extensiones en el manifiesto de tu proyecto
firebase deploy --only extensions --project=projectId_or_alias