Страница 1 из 1

Архитектурно-правильный список контактов и карта

Добавлено: 06 май 2012, 16:51
ericsson
Есть некий сервис, одной из функций которого является показ списка контактов в довольно сложном виде: карта с функцией кластеризации маркеров, а под ней список того, что видно на карте, с той же группировкой, плюс группировка по населенным пунктам или улицам внутри населенного пункта. Сейчас все сделано client side, на OpenLayers и самописном JS. Владелец сервиса хочет все новых и новых возможностей (подсветка маркеров в пределах региона пользователя и т.п.) и все неизбежно начинает тормозить на регионах, где контактов очень много.
Проект достаточно нагруженный, но отсутствие тормозов у пользователя приоритетно, и если надо - мощности сервера владелец наращивать готов.

Потому всплывает вопрос смены архитектуры.
Пока идея состоит в том, чтобы переложить все это на сервер, то есть базу с геопространственными расширениями, поселив большую часть этого функционала в запросах, на сколько это возможно. А пользователю отдавать (GeoJSON, как и сейчас) только контекст с небольшим margin'ом (+/- текущие размеры bbox или bbox следующего масштаба).
Как уважаемые члены сообщества думают, подходящее это решение, или не очень? Если не очень - есть ли какие другие архитектурные решения, которые бы позволили добиться искомых результатов?