Нужен совет по правильной структуре/архитектуре сервиса

jenia

Новичок
У тебя случай явно попроще чем гугл или фейсбук, вряд ли у магазинов есть общие данные. Раскидать разные магазины по разным серверам и все.
У меня агрегатор цен, а не разные магазины. Мне нужно выводить цены для конкретного товара из разных магазинов на одной странице. Мне не совсем понятно, для чего раскидывать магазины по разным серверам.
 

fixxxer

К.О.
Партнер клуба
не магазины, а парсеры разных магазинов

об остальном ты ничего не рассказал, так что обсуждать нечего.
 

Adelf

Administrator
Команда форума
Ну если я все правильно понял, то у тебя магазин и к каждому товару будут цены на него из других магазинов. Если эти цены вообще не влияют на бизнес-логику основного магазина, то есть большой смысл вынести эту систему из основной, чтобы основной сайт вообще ничего о ней не знал. все делать на другом сервере(серверах), а цены на основной сайт подгружать яваскриптом.
 

AmdY

Пью пиво
Команда форума
Я специально не приводил техническую информацию, так как вопрос не в том, как сделать, чтобы оно работало быстро, а как обеспечить масштабируемость в случае, если завтра будет значительно больше информации для парсинга и добавления в БД.
А смысл?
У вас сейчас ОДИН сервер на котором крутится сразу куча сайтов и базы данных. А вы уже размышляете о маштабировании и архитектуре, при этом считаете что
>>На веб-сервере не всё так легко можно перенести на новый сервер (на этом сервере не один сайт находится, много настроек оптимизирующих работу и т. д.),
И это в эпоху амазонов, облаков, докеров и т.д.

Решайте вопросы по мере их появления. Нет никакой проблемы вынести монгу на отдельный сервер или даже пачку, настроить шардинг и т.д. Если тормозят парсеры, разбирайся с ними, разберись почему тормозят, а уже потом будешь решать как оптимизировать. Нет серебрянной пули, которая решит все вопросы с производительностью.
 

jenia

Новичок
Ну если я все правильно понял, то у тебя магазин и к каждому товару будут цены на него из других магазинов. Если эти цены вообще не влияют на бизнес-логику основного магазина, то есть большой смысл вынести эту систему из основной, чтобы основной сайт вообще ничего о ней не знал. все делать на другом сервере(серверах), а цены на основной сайт подгружать яваскриптом.
Почти так как вы описали. Я изначально как раз и планировал вынести эту систему из основной и подгружать всё через JavaScript. Но отказался от этого, чтобы не грузить браузер пользователей подобной логикой. Да и с поисковыми системами не всё однозначно: они читают JavaScript, но насколько адекватно они такие страницы добавляют в поисковую выдачу мне так и не удалось понять.

Идея сохранилась - вынести всё, что возможно с данного сервера, чтобы не мешать его работе. Только цены из MongoDB подгружать, а саму MongoDB и парсеры держать отдельно.
 

jenia

Новичок
А смысл?
У вас сейчас ОДИН сервер на котором крутится сразу куча сайтов и базы данных. А вы уже размышляете о маштабировании и архитектуре, при этом считаете что
>>На веб-сервере не всё так легко можно перенести на новый сервер (на этом сервере не один сайт находится, много настроек оптимизирующих работу и т. д.),
И это в эпоху амазонов, облаков, докеров и т.д.

Решайте вопросы по мере их появления. Нет никакой проблемы вынести монгу на отдельный сервер или даже пачку, настроить шардинг и т.д. Если тормозят парсеры, разбирайся с ними, разберись почему тормозят, а уже потом будешь решать как оптимизировать. Нет серебрянной пули, которая решит все вопросы с производительностью.
Я и решаю проблемы по мере их поступления. На данный момент всё работает и я ничего не трогаю. Я вижу, что проблемы могут возникнуть и хочу понимать, что с ними делать, когда они возникнут. Именно поэтому я не привожу технические детали, так как мне нужен совет по архитектуре, а не конкретные решения проблем с парсерами и прочим. Я сейчас перефразирую вопросы. Наверное, я что-то не так спросил.
 

jenia

Новичок
Вот более точно сформулированная задача.

Есть сервер, максимально оптимизированный под текущие задачи. Нагрузка превышает допустимую. Нагрузку даёт один из сервисов. Нагрузка от данного сервиса может увеличиться в ближайшее время, а может и нет. Нагрузка от остальных сервисов не может увеличиться в ближайшее время. Какое из решений является более правильным:
1. Брать новый более мощный сервер.
2. Выносить сервис, который даёт нагрузку, на другие сервера.
 
Сверху