Клиент пришел с проблемой
Заказчику требовалось разработать каталог клиник и врачей России. При этом предполагалась фильтрация по категориям: врачей по городам, по специальностям, по клиникам, а также клиник по городам и по специализациям.
Всегда есть особенности
Основной особенностью проекта была его масштабность: 50.000 клиник, 600.000 врачей и 1.500.000 отзывов. Кроме того, заказчик хотел протестировать проект без больших вложений. Значит нам были недоступны мощные сервера.
Как мы это сделали
За основу проекта мы взяли Bitrix. Использовали его только для админки, так как базовая версия системы не позволяет оперативно формировать выборки на слабом сервере, тем более при большом объеме данных.
Для пользовательской части, где и происходит формирование страниц выборок, мы применили Apache Solr. Выборок бесконечное количество и мы не могли подготовить данные по ним заранее, а Solr позволяет формировать их моментально по запросу.
Данных на страницах врачей и клиник тоже много. Для того чтобы страницы открывались максимально быстро, сведения по врачам и клиникам собираются, обрабатываются, компонуются и помещаются в Memcached.
В результате
Мы создали емкий каталог на обычном хостинге. При этом страницы выборок и элементов открываются за доли секунды. Слабый сервер позволил уменьшить затраты на проект, несмотря на его масштаб.
В проекте использовали
- 1с-битрикс
- Apache Solr
- memcached