Firebase होस्टिंग का इस्तेमाल करके, डाइनैमिक कॉन्टेंट उपलब्ध कराएं और माइक्रोसर्विस होस्ट करें

Firebase Hosting बिना सर्वर वाली कंप्यूटिंग के विकल्पों के साथ इंटिग्रेट होता है. इनमें Cloud Functions for Firebase और Cloud Run शामिल हैं. Firebase Hosting को इन विकल्पों के साथ इस्तेमाल करके, माइक्रोसेवाएं होस्ट की जा सकती हैं. इसके लिए, एचटीटीपीएस अनुरोधों को डायरेक्ट करके, अपने फ़ंक्शन और कंटेनर वाले ऐप्लिकेशन को मैनेज किए जाने वाले सुरक्षित एनवायरमेंट में चलाया जा सकता है.

Cloud Functions for Firebase: इसमें एक फ़ंक्शन लिखा और डिप्लॉय किया जाता है. यह बैकएंड कोड होता है, जो किसी खास ट्रिगर के जवाब में काम करता है. इसके बाद, Firebase Hosting का इस्तेमाल करके, एचटीटीपीएस अनुरोधों को डायरेक्ट किया जा सकता है, ताकि आपका फ़ंक्शन ट्रिगर हो और काम करे.

Cloud Run: इसमें कंटेनर इमेज में पैकेज किया गया ऐप्लिकेशन लिखा और डिप्लॉय किया जाता है. इसके बाद, Firebase Hosting का इस्तेमाल करके, आप एचटीटीपीएस अनुरोधों को डायरेक्ट कर सकते हैं, ताकि आपका कंटेनर वाला ऐप्लिकेशन ट्रिगर हो और काम करे.

इस्तेमाल के उदाहरण

बिना सर्वर वाली कंप्यूटिंग के विकल्पों का इस्तेमाल Firebase Hosting के साथ कैसे किया जा सकता है?

  • डाइनैमिक कॉन्टेंट दिखाना — अपनी होस्टिंग Hosting साइट पर स्टैटिक कॉन्टेंट दिखाने के अलावा, डाइनैमिक तरीके से जनरेट किए गए जवाब भी दिखाए जा सकते हैं. ये जवाब, सर्वर-साइड लॉजिक का इस्तेमाल करने वाले किसी फ़ंक्शन या कंटेनर वाले ऐप्लिकेशन से जनरेट किए जाते हैं.

    उदाहरण के लिए, किसी यूआरएल पैटर्न (जैसे /blog/<blog-post-id>) को किसी ऐसे फ़ंक्शन पर पॉइंट किया जा सकता है जो आपके डेटाबेस से डाइनैमिक तरीके से कॉन्टेंट वापस पाने के लिए, यूआरएल के ब्लॉग पोस्ट आईडी पैरामीटर का इस्तेमाल करता है.

  • REST API बनाना — फ़ंक्शन का इस्तेमाल करके, माइक्रोसेवा एपीआई बनाया जा सकता है.

    उदाहरण के लिए, फ़ंक्शन आपकी वेबसाइट के लिए साइन-इन की सुविधा को मैनेज कर सकते हैं. आपकी वेबसाइट / पर होस्ट की जाती है. हालांकि, /api पर किया गया कोई भी अनुरोध, आपके माइक्रोसर्विस एपीआई पर रीडायरेक्ट कर दिया जाता है. उदाहरण के लिए, यह ओपन-सोर्स सैंपल देखें .

  • डाइनैमिक कॉन्टेंट को कैश मेमोरी में सेव करना — ग्लोबल सीडीएन पर, अपने डाइनैमिक कॉन्टेंट को कैश मेमोरी में सेव करने की सुविधा कॉन्फ़िगर की जा सकती है.

    उदाहरण के लिए, अगर कोई फ़ंक्शन समय-समय पर नया कॉन्टेंट जनरेट करता है, तो जनरेट किए गए कॉन्टेंट को कम से कम कुछ समय के लिए कैश मेमोरी में सेव करके, अपने ऐप्लिकेशन की स्पीड बढ़ाई जा सकती है. साथ ही, एक्ज़ीक्यूशन की लागत भी कम की जा सकती है, क्योंकि कॉन्टेंट को ट्रिगर किए गए फ़ंक्शन या कंटेनर वाले ऐप्लिकेशन के बजाय, सीडीएन से दिखाया जाता है.

  • सिंगल-पेज ऐप्लिकेशन को पहले से रेंडर करना — डाइनैमिक meta टैग बनाकर, एसईओ को बेहतर बनाया जा सकता है और अलग-अलग सोशल नेटवर्क पर शेयर करने की सुविधा को ऑप्टिमाइज़ किया जा सकता है. ज़्यादा जानने के लिए, यह वीडियो देखें या यह ओपन-सोर्स सैंपल देखें.

बिना सर्वर वाला विकल्प चुनना

Cloud Functions for Firebase और Cloud Run, दोनों ही Firebase Hosting के साथ इंटिग्रेट होते हैं. साथ ही, ये पूरी तरह से मैनेज किए जाने वाले, अपने-आप स्केल होने वाले, और सुरक्षित बिना सर्वर वाले एनवायरमेंट की सुविधा देते हैं. हालांकि, इन दोनों विकल्पों का इस्तेमाल, अलग-अलग इस्तेमाल के उदाहरणों और पसंद के मुताबिक कॉन्फ़िगरेशन के लिए किया जा सकता है.

बिना सर्वर वाले किसी भी विकल्प का इस्तेमाल करते समय, उसे Firebase Hosting के सर्वर के साथ को-लोकेट करना सबसे अच्छा होता है. इसके लिए, इन इलाकों में से किसी एक में डिप्लॉय करें:

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

यहां दी गई टेबल में, Cloud Functions for Firebase के मुकाबले Cloud Run का इस्तेमाल करने के लिए, कुछ बुनियादी बातों के बारे में बताया गया है. कोटा, सीमाएं, और मेट्रिक की पूरी सूची देखने के लिए, हर प्रॉडक्ट का विस्तृत दस्तावेज़ (Cloud Functions for Firebase या Cloud Run) देखें.

विचार Cloud Functions for Firebase Cloud Run
सेट अप Firebase सीएलआई, कई टास्क को एक ही कमांड में बंडल करता है. इनमें, शुरू करने से लेकर बनाने और डिप्लॉय करने तक के टास्क शामिल हैं. कंटेनर में, पसंद के मुताबिक बनाने के ज़्यादा विकल्प मिलते हैं. इसलिए, सेट अप करने, बनाने, और डिप्लॉय करने के टास्क में अलग-अलग चरण शामिल होते हैं.
रनटाइम एनवायरमेंट इसके लिए Node.js की ज़रूरत होती है. हालांकि, यह तय किया जा सकता है कि Node.js का कौनसा वर्शन इस्तेमाल करना है. कंटेनर बनाते समय, रनटाइम एनवायरमेंट तय किया जाता है.
भाषा और फ़्रेमवर्क के साथ काम करने की सुविधा

JavaScript और TypeScript

Express.js जैसे वेब फ़्रेमवर्क के साथ काम करने की सुविधा.

Dockerfiles के साथ काम करने वाली कोई भी भाषा. इनमें Go, Node.js, Python, Java वगैरह शामिल हैं

हर भाषा के लिए वेब फ़्रेमवर्क के साथ काम करने की सुविधा.

अनुरोध के लिए टाइम आउटHosting 60 सेकंड (नीचे 'ध्यान दें' देखें) 60 सेकंड (नीचे 'ध्यान दें' देखें)
एक साथ किए जाने वाले अनुरोध फ़ंक्शन के हर इंस्टेंस के लिए एक अनुरोध
(हर इंस्टेंस के लिए एक साथ किए जाने वाले अनुरोधों की कोई सीमा नहीं है)
कंटेनर के हर इंस्टेंस के लिए, एक साथ ज़्यादा से ज़्यादा 1,000 अनुरोध
बिलिंग Cloud Functions इस्तेमाल

मुफ़्त में इस्तेमाल करने का कोटा. हालांकि, Cloud Billing खाता होना ज़रूरी है. Firebase के अक्सर पूछे जाने वाले सवाल देखें .

Cloud Run इस्तेमाल + Container Registry स्टोरेज

मुफ़्त में इस्तेमाल करने का कोटा. हालांकि, Cloud Billing खाता होना ज़रूरी है