Firebase Hosting'i kullanarak dinamik içerik sunma ve mikro hizmetler barındırma

Firebase Hosting, Cloud Functions for Firebase ve Cloud Run dahil olmak üzere sunucusuz bilgi işlem seçenekleriyle entegre olur. Firebase Hosting ile bu seçenekleri kullanarak, HTTPS isteklerini yönlendirerek işlevlerinizi ve container'a alınmış uygulamalarınızı yönetilen ve güvenli bir ortamda çalıştırmak üzere mikro hizmetleri barındırabilirsiniz.

Cloud Functions for Firebase: Belirli bir tetikleyiciye yanıt veren arka uç kodu olan bir işlev yazıp dağıtırsınız. Ardından, Firebase Hosting kullanarak HTTPS isteklerini işlevinizin çalışmasını tetikleyecek şekilde yönlendirebilirsiniz.

Cloud Run: Container görüntüsüne paketlenmiş bir uygulama yazıp dağıtırsınız. Ardından, Firebase Hosting kullanarak HTTPS isteklerini, container mimarisine alınmış uygulamanızın çalışmasını tetikleyecek şekilde yönlendirebilirsiniz.

Kullanım alanları

Firebase Hosting ile sunucusuz bilgi işlem seçeneklerini nasıl kullanabilirsiniz?

  • Dinamik içerik sunma: Hosting sitenizde statik içerik sunmanın yanı sıra, sunucu tarafı mantığı yürüten bir işlevden veya kapsayıcılı uygulamadan dinamik olarak oluşturulan yanıtlar da sunabilirsiniz.

    Örneğin, bir URL kalıbını (ör. /blog/<blog-post-id>) URL'nin blog yayını kimliği parametresini kullanarak veritabanınızdan dinamik olarak içerik alan bir işleve yönlendirebilirsiniz.

  • REST API'leri oluşturma: İşlevleri kullanarak bir mikro hizmet API'si oluşturabilirsiniz.

    Örneğin, işlevler web sitenizin oturum açma işlevini yönetebilir. Web siteniz / adresinde barındırılırken /api adresine yapılan tüm istekler mikro hizmet API'nize yönlendirilir. Örnek olarak bu açık kaynak örneğine göz atın.

  • Dinamik içeriği önbelleğe alma: Dinamik içeriğinizin önbelleğe alınmasını global bir CDN'de yapılandırabilirsiniz.

    Örneğin, bir işlev yalnızca belirli aralıklarla yeni içerik oluşturuyorsa oluşturulan içeriği kısa bir süre için önbelleğe alarak uygulamanızı hızlandırabilirsiniz. İçerik, tetiklenen bir işlev veya kapsayıcılı uygulama üzerinden değil, CDN'den sunulduğu için yürütme maliyetlerini de düşürebilirsiniz.

  • Tek sayfalık uygulamalarınızı önceden oluşturun: Dinamik meta etiketleri oluşturarak SEO'yu iyileştirebilir ve çeşitli sosyal ağlarda paylaşımı optimize edebilirsiniz. Daha fazla bilgi edinmek için bu videoyu izleyin veya bu açık kaynaklı örneğe göz atın.

Sunucusuz seçenek belirleme

Hem Cloud Functions for Firebase hem de Cloud Run, Firebase Hosting ile entegre olur ve tamamen yönetilen, otomatik ölçeklenen ve güvenli bir sunucusuz ortam sunar. Ancak iki seçenek, farklı kullanım alanları ve istenen özelleştirilmiş yapılandırma düzeyi için kullanılabilir.

Sunucusuz seçeneklerden birini kullanırken aşağıdaki bölgelerden birinde dağıtım yaparak Firebase Hosting sunucularıyla birlikte konumlandırmanız önerilir:

  • us-west1
  • us-central1
  • us-east1
  • europe-west1
  • asia-east1

Aşağıdaki tabloda, Cloud Functions for Firebase ve Cloud Run kullanırken dikkat edilmesi gereken bazı temel noktalar açıklanmaktadır. Kotalar, sınırlar ve metriklerin tam listesi için her ürünün ayrıntılı belgelerine (Cloud Functions for Firebase veya Cloud Run) bakın.

Üzerinde düşünme Cloud Functions for Firebase Cloud Run
Kurulum Firebase CLI, başlatma, oluşturma ve dağıtma gibi birden fazla görevi tek bir komutta birleştirir. Container'lar daha fazla özelleştirilebilir seçenek sunar. Bu nedenle kurulum, oluşturma ve dağıtım görevleri ayrı adımlardan oluşur.
Çalışma zamanı ortamı Node.js gerektirir ancak kullanılacak Node.js sürümünü belirtebilirsiniz. Kapsayıcınızı oluştururken çalışma zamanı ortamını belirtirsiniz.
Dil ve çerçeve desteği

JavaScript ve TypeScript

Express.js gibi web çerçeveleri desteklenir.

Go, Node.js, Python, Java ve diğerleri dahil olmak üzere Dockerfile'ların desteklediği tüm diller

Her dil için web çerçeveleri desteklenir.

Hosting isteği için zaman aşımı 60 saniye (aşağıdaki nota bakın) 60 saniye (aşağıdaki nota bakın)
Eşzamanlılık (Concurrency) İşlev örneği başına 1 istek
(örnek başına eşzamanlılık yok)
Container örneği başına en fazla 1.000 eşzamanlı istek
Faturalandırma Cloud Functions kullanımı

Ücretsiz kullanım kotası vardır ancak Cloud Billing hesabı gereklidir. Firebase SSS bölümüne bakın.

Cloud Run kullanım + Container Registry depolama alanı

Ücretsiz kullanım kotası vardır ancak Cloud Billing hesabı gereklidir.