Подтвердить что ты не робот

Уточнить соединения Firebase

Я немного запутался в модели ценообразования Firebase, особую озабоченность вызывают соединения или, точнее, параллельные соединения.

Приведем пример мобильного приложения для iOS под названием FanZONE:

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

Этот сценарий означает, что каждый пользователь, участвующий в подсчете/просмотре, подсчитывает одно соединение?
Итак, если в группе содержится 100 пользователей, которые активно следят за экраном и время от времени комментируют, есть ли 100 подключений каждые 90 минут?
Что касается пользователей, у которых приложение в фоновом режиме и приложение проверяет каждые 5 минут счет. Это соединение также длится 90 минут или всего лишь часть времени каждые 5 минут?

4b9b3361

Ответ 1

В вашем первом сценарии - короткий ответ - да. Пока ваши пользователи сохраняют экран на том месте, где у вас есть соединение Firebase, которое позволяет им комментировать/читать комментарии - у вас будет одно одновременное подключение на экран.

В вашем втором сценарии - это зависит от того, как вы разрабатываете свое приложение. API Firebase предоставляет вам методы goOffline и goOnline (https://www.firebase.com/docs/ios-api/Classes/Firebase.html#class_methods), которые дают вам контроль над ваше соединение. Если вы хотите выйти в автономный режим в течение 5 минут, затем коротко вернитесь в онлайновом режиме, чтобы проверить баллы, а затем снова выйти в автономный режим, тогда вы будете удерживать соединение только на короткое время.

Параллельные соединения - это только те соединения, которые установлены одновременно. Так что, если у вас есть 3 человека, которые используют ваше приложение для проверки баллов, но пользователь 1 приложение выходит в интернет в 12:00 PM, и соединение длится 5 секунд, затем приложение пользователя 2 запускается онлайн в 12:01 PM в течение 5 секунд, а пользователь 3 приложение выходит в интернет в 12:02 в течение 5 секунд, тогда у вас только когда-либо было одно одновременное соединение.

Если, с другой стороны, все 3 пользовательские приложения выходят в интернет в 12:00 PM в течение 5 секунд, тогда у вас будет 3 одновременных подключения.

Вы могли бы использовать эту же стратегию goOffline/goOnline со своим первым сценарием, но это может отвлечь вас от опыта, если ваши пользователи ожидают общения в чате почти в режиме реального времени.

Ответ 2

В дополнение к превосходному ответу Майка П, вот еще несколько дискуссий по той же теме, которые могут оказаться проницательными.

На странице цены Firebase :

Что такое соединение?

Соединение - это открытое сетевое подключение к нашим серверам. Это показатель количества пользователей, использующих ваше приложение или сайт одновременно. Это не то же самое (и, как правило, намного ниже чем) общее количество посетителей вашего сайта или общее количество пользователей вашего приложения. По нашему опыту, 1 одновременно соответствует примерно 1 400 посещений за месяц.

Наша разработка Firebase имеет жесткое ограничение на количество соединений позволил. Однако все платные Firebases являются "взрывоопасными", что означает, что использование не ограничено, и вместо этого вам выставлен счет за любые излишки. Мы измеряем связи для платных планов на основе 95-го процентиля использование в течение месяца.

Из этот список рассылки, Эндрю Ли (основатель Firebase):

Я настоятельно рекомендую вам не беспокоиться об этом, если вы на самом деле столкнувшись с нашими ограничениями... большинство разработчиков значительно переоценивают количество которые они будут иметь одновременно. Хорошее эмпирическое правило - 1 параллельное = 1000 ежемесячных посещений для типичного веб-сайта. Для мобильных устройств соотношение между установками и соглашателями иногда даже выше (хотя это значительно варьируется в зависимости от вашего варианта использования). Наши планы вполне щедрый, когда речь заходит о параллельных пользователях. Как точка данных - наша собственная веб-сайт может работать удобно на "бесплатном" плане Firebase дней. Фактически, более 99,5% всех Firebases никогда не попадали в 50 параллельный предел.

Итак, короткая история, если вы работаете над хобби-проектом, вы будете почти наверняка не попали в наш свободный уровень 50-параллельного лимита. Если вы бизнес или большее приложение, надеюсь, вы найдете наш план на $49 за месяц более экономически эффективны, чем затраты времени на разработку, чтобы выяснить, когда to goOnline/goOffline, чтобы свести к минимуму это число.

На очень высоком уровне (огромные Enterprise приложения с 10k + concurrents) мы предлагать индивидуальную цену, которая имеет более низкую скорость.

Пользовательский бенчмаркинг и тестирование соединений здесь на SO: Как рассчитывается соединение в Firebase

Другой аналогичный вопрос здесь о SO: Как вычисляются параллельные соединения