Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

Обслуживание динамического контента и хост-микросервисов с помощью Firebase Hosting

Firebase Hosting интегрируется с вариантами безсерверных вычислений, включая облачные функции для Firebase и Cloud Run. Используя Firebase Hosting с этими опциями, вы можете размещать микросервисы, направляя HTTP-запросы для запуска ваших функций и контейнерных приложений для запуска в управляемой, безопасной среде.

Облачные функции для Firebase : вы пишете и разворачиваете функцию, которая является внутренним кодом, который отвечает на определенный триггер. Затем, используя Firebase Hosting, вы можете направлять HTTPS-запросы для запуска вашей функции.

Cloud Run : вы пишете и развертываете приложение, упакованное в образ контейнера. Затем, используя Firebase Hosting, вы можете направить HTTPS-запросы, чтобы запустить приложение в контейнере.

Случаи использования

Как вы можете использовать опции безсерверных вычислений с Firebase Hosting?

  • Служить динамическому контенту. Помимо предоставления статического контента на вашем хостинг-сайте, вы можете обслуживать динамически генерируемые ответы от функции или контейнерного приложения, которое выполняет серверную логику.

    Например, вы можете указать шаблон URL (например, /blog/<blog-post-id> ) на функцию, которая использует параметр идентификатора записи блога URL-адреса для динамического извлечения содержимого из вашей базы данных.

  • Построить API REST - вы можете создать API микросервиса, используя функции.

    Например, функции могут обрабатывать функции входа для вашего сайта. Пока ваш сайт размещен в / , любой запрос к /api перенаправляется в ваш API микросервиса. Для примера, посмотрите этот пример с открытым исходным кодом .

  • Кэширование динамического контента. Вы можете настроить кэширование своего динамического контента в глобальной сети CDN.

    Например, если функция генерирует новый контент только периодически, вы можете ускорить свое приложение, кэшируя сгенерированный контент как минимум в течение короткого периода времени. Вы также можете потенциально снизить затраты на выполнение, потому что контент подается из CDN, а не через триггерную функцию или контейнерное приложение.

  • Предварительно представьте свои одностраничные приложения - вы можете улучшить SEO и оптимизировать совместное использование в различных социальных сетях, создав динамические meta . Чтобы узнать больше, посмотрите это видео или ознакомьтесь с примером с открытым исходным кодом .

Выбор варианта без сервера

Хотя облачные функции для Firebase и Cloud Run интегрируются с Firebase Hosting и предлагают полностью управляемую, автоматически масштабируемую и безопасную безсерверную среду, эти два варианта могут быть использованы для различных случаев использования и желаемого уровня настраиваемой конфигурации.

В следующей таблице описаны некоторые основные аспекты использования облачных функций для Firebase и Cloud Run. Полный список квот, лимитов и метрик см. В подробной документации по каждому продукту ( Облачные функции для Firebase или Cloud Run ).

рассмотрение Облачные функции для Firebase Cloud Run
Настроить Интерфейс командной строки Firebase объединяет несколько задач в одну команду - от инициализации до сборки и развертывания. Контейнеры предлагают более настраиваемые параметры, поэтому задачи настройки, сборки и развертывания включают отдельные шаги.
Среда выполнения Требуется Node.js, но вы можете указать, какую версию Node.js использовать (в настоящее время, версия 8 или 10). При создании контейнера вы указываете среду выполнения.
Поддержка языка и фреймворков

JavaScript и TypeScript

Веб-фреймворки, такие как Express.js, поддерживаются.

Любой язык, который поддерживает Dockerfiles, включая Go, Node.js, Python, Java и другие.

Веб-фреймворки для каждого языка поддерживаются.

Тайм-аут для запроса хостинга 60 секунд (см. Примечание ниже) 60 секунд (см. Примечание ниже)
совпадение 1 запрос на экземпляр функции
(нет параллелизма на экземпляр)
80 одновременных запросов на экземпляр контейнера
Billing Использование облачных функций

Бесплатная квота использования, и не требуется платежный аккаунт

Использование Cloud Run + Хранение в реестре контейнеров

Бесплатная квота использования, но требуется платежный аккаунт