Если у Вас маленький маркетплейс, работа которого ориентирована на одну страну и узкий спектр товаров (нишевой), то скорее всего Вы избежите этих проблем, но если это не так или Вы планируете масштабировать свой бизнес в будующем, то Вам необходимо знать такие нюансы:
1. Большое количество товаров
Данный продукт подразумевает постоянную работу с огромными массивами данных, которые будут постоянно приходить из различных ресурсов (api, xml, csv), следовательно Вам необходимо будет очень тщательно продумать поэтапное хранение этих данных, начиная от импорта и заканчивая резервным копированием. Последнему стоит уделить особое внимание, потому как в условиях постоянной конкуренции, недоступность сайта в течении полу часа, может привести к серьезным потеряем как в рейтинге, так и в клиентской базе. Исходя из этого, Вы должны быть уверены, что в случае сбоя на основном сервере, Вы как минимум в пару кликов сможете поднять резевную копию (в идеале, все должно происходить в автоматическом режиме), которая не должна ничем не отличаться от боевой версии Вашего проекта.
2. Высоконагруженность
Природа данного типа проектов, подразумевает не только большую посещаемость, но и высокую активность пользователей. Имеется ввиду, что они не просто откроют страницу и будут читать о товаре, они будут использовать фильтры, сравнения, формировать статистику и прочее (в зависимости от функционала, который Вы предоставите, а его должно быть не мало, если Вы хотите быть первыми). Для того чтобы подготовить свой проект к этому, Вам необходимо учесть такие нюансы:
- оптимизация различных запросов;
- autoscale - автоматическое масштабирование системы, при возрастании нагрузки;
- мониторинг своей ЦА для правильного выбора месторасположения своих серверов, и следовательно настройка сопутствующих сервисов для распределения нагрузки (отдачи данных) пользователям исходя из их геолокации (чем ближе пользователь к серверу, тем быстрее будет отдача данных);
- настройка кеширования (хранение частых запросов) - это позволит сохранять распространенные запросы, в следствии чего отдавать пользователю результат быстрее, чем при обычном запросе;
- четкое разграничение - какие задачи должны выполняться (просчитываться, строиться) на клиенте (в браузере), а какие должны строго выполняться на сервере;
- подключение сторонних сервисов (серверов) для отдачи статических данных (картинки, иконки и прочие не динамические данные);
- использование для поиска поисковых движков, например Sphinx или Elastik search. Потому как их индексы (они формируют для себе некие "справочники", позволяющие искать результаты по Вашему запросу в разы быстрее, чем просто обращаясь к поиску в БД);
3. Масштабируемость
На старте разработки Вашего продукта, Вам необходимо подойти с особым вниманием к технологиям и инструментам, с помощью которых Вы планируете создать Ваш проект. Потому как именно от них будут зависеть Ваши возможности в разработке. От них будет зависеть до каких размеров Вы сможете развить свой продукт и насколько гибким, отказоустойчивым и надежным он будет.