Firebase Hosting با گزینههای محاسباتی بدون سرور، از جمله Cloud Functions for Firebase و Cloud Run ادغام میشود. با استفاده از Firebase Hosting با این گزینهها، میتوانید با هدایت درخواستهای HTTPS برای اجرای عملکردها و برنامههای کانتینری خود در یک محیط مدیریتشده و امن، میکروسرویسها را میزبانی کنید.
Cloud Functions for Firebase : شما یک تابع را مینویسید و مستقر میکنید، که کد پشتیبان است که به یک ماشه خاص پاسخ میدهد. سپس، با استفاده از Firebase Hosting ، میتوانید درخواستهای HTTPS را هدایت کنید تا عملکرد خود را برای اجرا فعال کند.
Cloud Run : برنامه ای را می نویسید و اجرا می کنید که در یک تصویر کانتینر بسته بندی شده است. سپس، با استفاده از Firebase Hosting ، میتوانید درخواستهای HTTPS را هدایت کنید تا برنامه کانتینری خود را برای اجرا فعال کند.
موارد استفاده کنید
چگونه می توانید از گزینه های محاسباتی بدون سرور با Firebase Hosting استفاده کنید؟
ارائه محتوای پویا - علاوه بر ارائه محتوای ثابت در سایت Hosting خود، میتوانید پاسخهای تولید شده به صورت پویا را از یک تابع یا برنامه محفظهای که منطق سمت سرور را انجام میدهد، ارائه دهید.
برای مثال، میتوانید یک الگوی URL (مانند
/blog/<blog-post-id>
) را به تابعی که از پارامتر ID پست وبلاگ URL برای بازیابی پویا محتوا از پایگاه داده شما استفاده میکند اشاره کنید.ساخت API های REST - می توانید با استفاده از توابع یک API میکروسرویس ایجاد کنید.
به عنوان مثال، توابع می توانند عملکرد ورود به سیستم وب سایت شما را کنترل کنند. در حالی که وب سایت شما در
/
میزبانی می شود، هر درخواستی برای/api
به API میکروسرویس شما هدایت می شود. برای مثال، این نمونه منبع باز را بررسی کنید.محتوای پویا کش - می توانید ذخیره محتوای پویا خود را در یک CDN جهانی پیکربندی کنید .
به عنوان مثال، اگر یک تابع فقط به صورت دورهای محتوای جدید تولید میکند، میتوانید با ذخیره کردن محتوای تولید شده در حافظه پنهان برای حداقل مدت زمان کوتاه، سرعت برنامه خود را افزایش دهید. همچنین میتوانید به طور بالقوه هزینههای اجرا را کاهش دهید، زیرا محتوا از CDN ارائه میشود نه از طریق یک تابع فعال یا برنامه کانتینری.
برنامههای تک صفحهای خود را از قبل اجرا کنید – میتوانید با ایجاد
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 CLI چندین کار را در دستورات واحد، از مقداردهی اولیه گرفته تا ساخت و استقرار، جمع می کند. | کانتینرها گزینه های قابل تنظیم بیشتری را ارائه می دهند، بنابراین کارهای راه اندازی، ساخت و استقرار شامل مراحل گسسته است. |
محیط زمان اجرا | به Node.js نیاز دارد، اما میتوانید مشخص کنید که از کدام نسخه Node.js استفاده کنید. | هنگام ساخت کانتینر ، محیط زمان اجرا را مشخص می کنید. |
پشتیبانی از زبان و چارچوب | جاوا اسکریپت و تایپ اسکریپت چارچوب های وب، مانند Express.js، پشتیبانی می شوند. | هر زبانی که Dockerfiles از آن پشتیبانی می کند، از جمله Go، Node.js، Python، Java و دیگران چارچوب های وب برای هر زبان پشتیبانی می شوند. |
مهلت زمانی برای درخواست Hosting | 60 ثانیه (به یادداشت زیر مراجعه کنید) | 60 ثانیه (به یادداشت زیر مراجعه کنید) |
همزمانی | 1 درخواست در هر نمونه تابع (بدون همزمانی در هر نمونه) | حداکثر 1000 درخواست همزمان در هر نمونه کانتینر |
صورتحساب | استفاده از Cloud Functions سهمیه استفاده رایگان، اما یک حساب Cloud Billing لازم است. سؤالات متداول Firebase را ببینید. | استفاده از Cloud Run + ذخیره سازی Container Registry سهمیه استفاده رایگان، اما یک حساب Cloud Billing لازم است |