Dağıtılmış Sayaç
Firebase tarafından yapılmıştır
Cloud Firestore'a yüksek hızlı yazma işlemlerine uyum sağlamak için olay sayaçlarını geniş ölçekte kaydeder.
Bu uzantı nasıl çalışır?
Uygulamanıza yüksek oranda ölçeklenebilir bir sayaç hizmeti eklemek için bu uzantıyı kullanın. Bu, viral eylemleri veya görüntülemeler, beğeniler veya paylaşımlar gibi çok yüksek hızlı eylemleri sayan uygulamalar için idealdir.
Cloud Firestore, belge başına saniyede bir sürekli yazma sınırına sahip olduğundan, bu uzantı bunun yerine yazdıklarınızı bir
_counter_shards_ alt koleksiyonundaki belgeler arasında parçalar. Her istemci yalnızca kendi benzersiz parçasını artırırken, arka plan çalışanları (bu uzantı tarafından sağlanır) bu parçaları izler ve bir ana belgede toplar.
İşte bu uzantının bazı özellikleri:
- Saniyede 0 güncellemeden saniyede maksimum 10.000'e kadar ölçeklenir.
- Uygulamanızda rastgele sayıda sayacı destekler.
- Çevrimdışı çalışır ve ana sayaç için gecikme telafisi sağlar.
Bu uzantının çalışması için istemci tarafı mantığını gerektirdiğini unutmayın. Bir TypeScript istemci örnek uygulaması ve onun derlenmiş küçültülmüş JavaScript'i sağlıyoruz . Sağlanan müşteri örneğine göre kendi müşteri kodunuzu geliştirmek istiyorsanız, bu uzantıyı diğer platformlarda kullanabilirsiniz.
Ek kurulum
Bu uzantıyı yüklemeden önce, Firebase projenizde bir Cloud Firestore veritabanı kurduğunuzdan emin olun.
Bu uzantıyı yükledikten sonra yapmanız gerekenler:
- Veritabanı güvenlik kurallarınızı güncelleyin.
- Bu uzantı tarafından oluşturulan controllerCore işlevini düzenli olarak çağırmak için bir Cloud Scheduler işi ayarlayın. Parçaların kendisini bir araya getirerek veya parçaları bir araya getirmek için çalışanları planlayarak ve izleyerek çalışır.
- Belge yolunuzu ve artış değerlerinizi belirtmek için sağlanan müşteri örneğini veya kendi müşteri kodunuzu kullanın.
Bu yükleme sonrası görevler için ayrıntılı bilgiler, bu uzantıyı yükledikten sonra sağlanır.
Fatura
Bir uzantı yüklemek için projenizin Blaze (kullandıkça öde) planında olması gerekir
- Bu uzantı için gerekli olan Firebase kaynakları için (kullanılmasa bile) küçük bir miktar (genellikle yaklaşık 0.01 $ / ay) ücretlendirileceksiniz.
- Bu uzantı, hizmetin ücretsiz katmanını aşmanız durumunda ilişkili ücretleri olan diğer Firebase ve Google Cloud Platform hizmetlerini kullanır:
- Cloud Firestore
- Cloud Functions (Node.js 10+ çalışma zamanı. SSS'lere bakın )
Ne yapılandırabilirsiniz
- Cloud Functions konumu
- Dahili durum için belge yolu
Oluşturulan kaynaklar
- Tür: Bulut İşlevi
Açıklama: Her dakika çalışacak şekilde planlanmıştır. Bu işlev, parçaların kendisini toplar veya işçileri parçaları bir araya getirmeleri için planlar ve izler.
- Tür: Bulut İşlevi
Açıklama: Geriye dönük uyumluluk için korunmuştur. Bu işlev, controllerCore işlevini tetiklemek için uzantının Pub / Sub konusuna bir mesaj gönderir.
- Tür: Bulut İşlevi
Açıklama: Toplanması gerekebilecek sayaç parçalarındaki değişiklikleri dinler. Bu işlev maksimum 1 örnekle sınırlıdır.
- Tür: Bulut İşlevi
Açıklama: Bir dizi kırığı izler ve gerektiğinde bunları toplar. Herhangi bir anda çalışan 0 veya daha fazla çalışan işlevi olabilir. ControllerCore işlevi, bu çalışanların planlanmasından ve izlenmesinden sorumludur.
Bu uzantı nasıl kurulur
Firebase konsolunu kullanma
Uzantıları yüklemek ve yönetmek için Firebase konsolunu kullanabilirsiniz.Konsolu kullanarak yükleyin
Firebase CLI'yı kullanma
Uzantıları yüklemek ve yönetmek için Firebase CLI'yi de kullanabilirsiniz:
Adım 1: CLI'yi yüklemek veya en son CLI sürümüne güncellemek için aşağıdaki npm komutunu çalıştırın.
npm install -g firebase-toolsçalışmıyor mu? Firebase CLI referansına bir göz atın veya npm izinlerinizi değiştirin.
Adım 2: Aşağıdaki komutu çalıştırarak bu uzantıyı yükleyin
firebase ext:install firestore-counter --project=projectId_or_alias