Контекст:
У меня есть базовый скрипт на Python, извлекающий твиты и их местоположение из API Twitter со скоростью ~ 50 твитов / с.
Эти местоположенияотправляются в мое экспресс-приложение, находящееся в моем гибком экземпляре Google App Engine, через Cloud Pub / Sub.
Мое экспресс-приложение в основном является конечной точкой, которая получает запросы на публикацию из Pub / Sub, получает местоположения каждого твита и сохраняет их.их в кэш-память.Затем он использует Supercluster для генерации кластеров из этих местоположений на основе текущего ограничивающего окна клиента и масштабирования.
Проблема:
Supercluster выполняетотличная работа, и я вполне доволен способом хранения местоположений в кеше памяти, потому что я уменьшаю задержку, связанную с запросами http.
Но после достижения 500 тыс. местоположений Supercluster теперь испытывает трудностизагрузить все места.(Вычисления это хорошо, хотя)Перед отправкой кластеров клиенту задерживается около 600 мс.
Кроме того, для игры с 1 млн. Локаций требуется больше секунды.
Вопросы:
Существует ли какое-либо решение для эффективного хранения и запроса миллионов мест, чтобы иметь возможность создавать кластеры менее чем за 500 мс?