2015-12-03 2 views
0

У меня очень большая база данных продуктов, а свободное пространство очень мало, чтобы сохранить все изображения. Теперь я хочу добавить еще сервер и распространять изображения на нескольких серверах. Но мне нужен последовательный способ обвести изображения продукта среди всего сервера. Идентификатор - auto_increment, поэтому я не могу его использовать, потому что иногда продукты удаляются и их изображения тоже. Поэтому в этом случае, если я просто скажу: ID 1-10M на сервере A, 10M> ID < 20M на сервере B и т. Д. В конечном итоге у меня будет пустой сервер A, когда все продукты с идентификатором от 1 до 10M будут удалены.Облицовка изображений/распределение на нескольких серверах

И как справиться с этим, когда он получает возможность использовать изображения на веб-сайте. Все изображения должны быть доступны в одном домене, например. staticexample.com, используя nginx для сопоставления запроса на основе uri справа вверх по течению.

Мне нужен кто-то, кто указывает мне правильный путь.

Ps. я не хочу просто добавлять больше места на свой сервер, потому что это будет просто временное решение. Мне нужна горизонтальная шкала.

Я оцениваю любую помощь

Благодаря

ответ

0
  • осколок не основаны на диапазонах, а на остальной, например server_id = image_id % total_server_num. Маловероятно, что изображения будут удалены на основе этого шаблона.
  • Вы можете использовать субдомены или подпапки (static.site.com/1/, static.site.com/2/) и сопоставлять различные серверы.
+0

спасибо. Но так как я хочу добавить в будущем больше серверов/бэкендов, total_server_num и остальное тоже изменятся. Я должен перераспределять изображения каждый раз, когда добавляю новый сервер. Я хотел бы избежать этого, если это возможно. Действительно, я буду использовать субдомены/подпапки и отображение на nginx. – matrixx

+0

@matrixx, если вы хотите избежать перераспределения, взгляните на виртуальный осколок – dbf

Смежные вопросы