|
|
|
| Ночи доброй, дорогие.
Я разрабатываю несколько лет один проект, который так ещё и не запустил в сети. 4 января будет уж как года три, как я его пишу. Сейчас стал вопрос крупный. Что мне нужно сразу создавать в коде проекта, чтобы в будущем его возможно было легко изменить, для работы, например, на нескольких серверах? Ну, вот допустим, вначале там будет таблица, в которой хранятся сообщения, отправляемые между пользователями. Но если проект, вдруг, станет крупным, и там начнёт отправляться очень-очень много таких сообщений, таблицы будет не хватать. Нужно будет содержать несколько таблиц, а код-то настроен, чтобы всё из одной выводить.. Вот, так и с файлами, например. Вначале будут картинки 70%-го качества от исходников и разрешением максимум 800x600px, а вот потом дай возможость под 100% и 1920x1080px — так и места начнёт не хватать на одном хостинге, а потом и выделенном сервере, а потом и на личном сервере. И нужно будет все загружаемые изображения как-то по серверам разгружать, а код-то, опять же, не настроен на это. Что нужно мне уже сейчас, заранее сделать, чтобы в будущем такие проблемы можно было решить лёгким способом?
Например, сменить:
<?php
$images_servers [ ] = 'a';
?>
| на
<?php
$images_servers [ ] = 'a';
$images_servers [ ] = 'b';
?>
|
Может быть нужно изначально уже сейчас сменить мои INT'ы для ID на какие-нибудь VARCHAR'ы для A115, B55, где первая буква будет означать таблицу, или сервер, или ещё что.
Что нужно уже сейчас, на этапе разработки?
Спасибо большое, кто отзовётся на мой сложный и вполне размытый вопрос.
P. S. Да простите меня за мои "яблоки". Пытался объяснить, чтобы 2+2 легче сложить было. | |
|
|
|
|
|
|
|
для: Vecheslav
(17.12.2012 в 03:07)
| | Если кратко. Все пути к изображениям должны формироваться функцией-оберткой, которая должна легко изменяться, чтобы вы могли в любой момент вынести изображения на отдельный поддомен. Аналогично с SQL-запросами, запросы на запись и на чтение должны идти через разные соединения, чтобы у вас была возможность настроить репликацию и оптимизировать таблицы на запись и на чтение на разных серверах. | |
|
|
|
|
|
|
|
для: cheops
(17.12.2012 в 07:18)
| | Первое уже реализовано, для других целей, но и для таких, конечно же, тоже подойдёт.
Про репликацию понял — записываем и обновляем на одном сервере, читаем на любых остальных.
Вот всё равно остался вопрос.
Допустим адрес к фотографии на сайте domain.com/photo700, то есть я буду искать в MySQL в таблице photos фотографию с id=700. Если фотографий будет много, возможно я начную их размещать в таблицах photos_0, photos_1, photos_2, photos_3, photos_4, photos_5, .., photos_N, тогда либо мне нужно следить, чтобы AUTO_INCREMENT в каждой новой таблице начинался с нужного значения, либо чтобы ID были не цифровыми, а, например, domain.com/photo0_700, и тогда я буду искать в таблице photos_0 фотографию с id=0_700 (или для domain.com/photo1_1 соответственно в таблице photos_1 искать id=1_1). | |
|
|
|
|