Альтернатива для функций Firebase? Можно ли запускать их на виртуальной машине?

Я использую функции Firebase для Uberlike продукта. Я не могу получить ожидаемую производительность. Особенно это занимает много времени, чтобы загрузить данные из realtime-db. До 2-3 секунд на чтение. Это может быть связано с вызванным start, который обсуждается здесь. => Почему облачные функции для Firebase занимают 25 секунд?

Поэтому я решил перенести функциональность этих функций в экземпляр виртуальной машины. Использование FireBase onWrite и Admin SDK, аналогичные функциональные возможности могут быть достигнуты на виртуальной машине.

Это нормально? Получу ли я какие-либо проблемы с масштабируемостью?

1 ответ

Решение

Определенно возможно запустить подобный код на вашем собственном оборудовании / виртуальной машине. Фактически, именно столько собственных внутренних процессов Firebase выполнялось до появления облачных функций.

Что вы пропустите, так это автоматическое масштабирование облачных функций. Ваша машина / виртуальная машина всегда будет работать и имеет ограниченную емкость (насколько она может справиться). В отличие от Firebase, он имеет фиксированную емкость.

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