Основываясь на этом ответе, похоже, что метеоритный сервер хранит в памяти копию кэша для каждого подключенного клиента. Я понимаю, что он используется, чтобы избежать отправки нескольких копий данных при работе с перекрывающимися подписками на клиенте.
Соответствующая часть связанного ответа (акцент мой):
Слияние: задание поля слияния состоит в объединении результатов (добавленных, измененных и удаленных вызовов) всех активных функций публикации клиента в один поток данных. Для каждого подключенного клиента имеется один флажок слияния . Он содержит полную копию кеша minimongo клиента.
Предполагая, что ответ остается точным в текущей версии метеора, не может ли это создать огромную трату памяти на сервере по мере увеличения количества пользователей?
В качестве расчета вне манжеты, если приложение имело около 100 КБ кэша на одного клиента, тогда 10 000 одновременных пользователей будут использовать до 1 ГБ памяти на сервере, а 100 000 пользователей - колоссальные 10 ГБ! Это было бы правдой, даже если бы каждый клиент просматривал практически идентичные данные. Кажется правдоподобным, что приложение использует гораздо больше данных, чем для каждого клиента, что еще больше усугубит проблему.
Есть ли эта проблема в текущей версии Meteor? Если да, то какие методы можно использовать для ограничения объема памяти, которую сервер должен использовать для управления всеми подписками клиентов?