Есть некий сервис, одной из функций которого является показ списка контактов в довольно сложном виде: карта с функцией кластеризации маркеров, а под ней список того, что видно на карте, с той же группировкой, плюс группировка по населенным пунктам или улицам внутри населенного пункта. Сейчас все сделано client side, на OpenLayers и самописном JS. Владелец сервиса хочет все новых и новых возможностей (подсветка маркеров в пределах региона пользователя и т.п.) и все неизбежно начинает тормозить на регионах, где контактов очень много.
Проект достаточно нагруженный, но отсутствие тормозов у пользователя приоритетно, и если надо - мощности сервера владелец наращивать готов.
Потому всплывает вопрос смены архитектуры.
Пока идея состоит в том, чтобы переложить все это на сервер, то есть базу с геопространственными расширениями, поселив большую часть этого функционала в запросах, на сколько это возможно. А пользователю отдавать (GeoJSON, как и сейчас) только контекст с небольшим margin'ом (+/- текущие размеры bbox или bbox следующего масштаба).
Как уважаемые члены сообщества думают, подходящее это решение, или не очень? Если не очень - есть ли какие другие архитектурные решения, которые бы позволили добиться искомых результатов?
Архитектурно-правильный список контактов и карта
-
- Гуру
- Сообщения: 3321
- Зарегистрирован: 27 июл 2009, 19:26
- Репутация: 748
- Ваше звание: Вредитель полей
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя