با استفاده از Firebase Hosting، محتوای پویا و میکروسرویس های میزبان را ارائه دهید

Firebase Hosting با گزینه‌های محاسبات بدون سرور، از جمله Cloud Functions for Firebase و Cloud Run ، ادغام می‌شود. با استفاده از Firebase Hosting به همراه این گزینه‌ها، می‌توانید با هدایت درخواست‌های HTTPS برای راه‌اندازی توابع و برنامه‌های کانتینر شده خود، میزبان میکروسرویس‌ها باشید تا در یک محیط امن و مدیریت‌شده اجرا شوند.

Cloud Functions for Firebase : شما یک تابع می‌نویسید و مستقر می‌کنید، که کد backend است که به یک trigger خاص پاسخ می‌دهد. سپس، با استفاده از Firebase Hosting ، می‌توانید درخواست‌های HTTPS را برای اجرای تابع خود هدایت کنید.

Cloud Run : شما یک برنامه را که در یک تصویر کانتینر بسته‌بندی شده است، می‌نویسید و مستقر می‌کنید. سپس، با استفاده از Firebase Hosting ، می‌توانید درخواست‌های HTTPS را برای اجرای برنامه کانتینر شده خود هدایت کنید.

موارد استفاده

چگونه می‌توانید از گزینه‌های محاسبات بدون سرور با Firebase Hosting استفاده کنید؟

  • ارائه محتوای پویا - علاوه بر ارائه محتوای استاتیک در سایت Hosting خود، می‌توانید پاسخ‌های تولید شده به صورت پویا از یک تابع یا برنامه کانتینر شده که منطق سمت سرور را اجرا می‌کند، ارائه دهید.

    برای مثال، می‌توانید یک الگوی URL (مانند /blog/<blog-post-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 تمام شد ۶۰ ثانیه (به یادداشت زیر مراجعه کنید) ۶۰ ثانیه (به یادداشت زیر مراجعه کنید)
همزمانی ۱ درخواست به ازای هر نمونه تابع
(بدون همزمانی در هر نمونه)
حداکثر ۱۰۰۰ درخواست همزمان برای هر نمونه کانتینر
صورتحساب استفاده از Cloud Functions

سهمیه استفاده رایگان، اما داشتن حساب Cloud Billing الزامی است. به سوالات متداول Firebase مراجعه کنید.

استفاده از Cloud Run + فضای ذخیره‌سازی Container Registry

سهمیه استفاده رایگان، اما حساب Cloud Billing لازم است