Ах, вы наткнулись на загадку «ограничения скорости». Не волнуйтесь, я сам провел много ночей, беспокоясь об этом.
Чтобы получить немного больше контроля над своим приложением, вам нужно связать свой проект с облачной платформой Google. . Затем перейдите к IAM & Admin>Quotas
(после того, как вы выбрали свой проект firebase).
Теперь вы можете быть ошеломлены поначалу и не понимаете, почему существует так много ограничителей API облачных функций. Эти квоты должны позволить вам ограничивать скорость API облачных функций (аналогично тому, что делает твиттер) несколькими способами, включая, помимо прочего:
- запросов на чтение в день
- Запросы на чтение за 100 секунд
- Вызов функций за 100 секунд
- Вызов функций за день
- et c
API, который будет перечислены те, которые вы включили, так что вы также можете установить ограничения для облачного хранилища.
По умолчанию максимальное количество вызовов в секунду установлено на максимум 5000 вызовов в день в плане Spark . но согласно docs , абсолютный максимум составляет 100000000/100 секунд!
Также стоит взглянуть на ценовые документы , в которых есть хороший пример типичный ежемесячный вариант использования успешного приложения. Чтобы сильно упростить, один вызов стоит 0,0000004 доллара, следовательно, 10000000 вызовов обойдутся вам в колоссальные 3,20 доллара. Однако не позволяйте этой очень низкой цене вводить вас в заблуждение, если вы напишете какой-то ужасный код, и он будет иметь экспоненциальную сложность (например, чтение каждого документа в коллекции firestore при каждом вызове), вы можете получить экспоненциальную стоимость. Поэтому убедитесь, что вы установили эти квоты :)
Помните, что администратор сервера является такой же частью приложения, как и сам код. Если ваше приложение будет запущено в производство, будьте готовы ежедневно проводить некоторое время, просматривая облачную панель управления Google, проверяя лимиты, анализируя тенденции и т. Д. c. Таким образом, вы можете как бы увеличить количество заклинаний, которые вы можете позволить в день, и хорошо спать, зная, что, если вы выстрелите себе в ногу, у вас не будет слишком много крови.
Удачи в этом деле
Гадкий Б.