Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Интересует мнение по проблеме (https://forum.antichat.xyz/showthread.php?t=198044)

serg-php 21.04.2010 17:31

Интересует мнение по проблеме
 
Ситуация!

Есть несколько сайтов на пхп на разных хостингах, в одном из сайтов есть общие мускульная база и директория с картинками. Базу и картинки используют все сайты,
причем через мод_рерайт удалось реализовать видимость того, что картинки находятся в базе именно этого сайта.

Все работает, но есть один момент - пользователь регится на одном из сайтом и желает загрузить картинку. Соответственно, картинка должна попасть в общую базу картинок, но эта база то на другом сервере.

Как здесь быть?


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

^_WhitE_DeMoN_^ 21.04.2010 19:26

Подобный проблем... Хочу реализовать mirror или backup сервер

serg-php 22.04.2010 14:06

^_WhitE_DeMoN_^,

Что Вариант только фтп?

m0Hze 22.04.2010 14:08

Ну, когда пользователь грузит файл, ты просто в фоновом режиме отправляй его на третий сервер, хотябы простым curl, или ftp, так будет попоще в некоторых смыслах.
А так, я бы создал что то проде, полноценного mirror-сервера.
//AJAX+jquery помоему может работать со сторонними доменами, так что можно прямо с браузера грузить на третий сервер. Не проверенно, но насколько я помню, такое возможно.

serg-php 22.04.2010 21:34

Цитата:

когда пользователь грузит файл, ты просто в фоновом режиме отправляй его на третий сервер
А если такой файл уже загружен? Как система поймет это? А если нужно удалить один файл и вместо него добавить другой?

Скажем, так
PHP код:

define('FILE_DIR''home/html/files/'); 

еслибы заменить на


PHP код:

define('FILE_DIR''ftp://user:user@123.232.127.34/files/'); 

Будет ли такая конструкция работать?

$now 23.04.2010 00:12

Есть два подхода к проблеме.

1.Пользоваться одной базой, если юзер хочет что то загрузить, загружать именно в эту одну базу.

2. Сохранять все там где оно есть, и с некоторой периодичностью сливать все три базы во едино на всех трех серверах.

Оба подохода имеют право на существование. Первый прост в реализации, но не устойчив к пиковой нагрузке. Второй сложнее в плане реализации , но гораздо устойчивее к нагрузке, ибо база существует в трех экземплярах, получается своего рода кластер.

Так же можно постоянно заливать на все три сервера. Это будет уместно если юзеры намного чаще смотрят фотки чем их заливают, ибо в таком случае существенно снизит нагрузку, без потери реалтайма.

Какой способ использовать решать вам.

serg-php 23.04.2010 00:14

Цитата:

Пользоваться одной базой, если юзер хочет что то загрузить, загружатьименно в эту одну базу
Так об это-то и речь идет!

Выше привел конструкцию!

$now 23.04.2010 00:20

serg-php
Файлами между серверами лучше обмениваться по http - быстрее. Я бы написал RPC службу принимающую файлы - быстро и надежно.

serg-php 23.04.2010 15:10

$now,

твой вариант сильно сложен будет для меня!

А не проще ли вызвать пхп-форму с удаленного сервера
поместить ее в
<iframe height="898" allowTransparency="true" frameborder="0" scrolling="yes" style="width:90%;border:none" src="http://123.232.127.34/index.php?page=add"><a href="http://123.232.127.34/index.php?page=add">Загрузка файла</a></iframe>

serg-php 08.05.2010 15:27

Может ли помочь allow_url_fopen

ReduKToR 08.05.2010 18:26

Храни изображения в бд) а не в файлах
Доступ к бд как ты говоришь реализован!

serg-php 10.05.2010 21:31

ReduKToR

Цитата:

Храни изображения в бд) а не в файлах Доступ к бд как ты говоришь реализован!
В базе хранить не есть хорошо!

Тем более, что файлы всерднем метровые!

Это что базу в 5 гигов делать?

m0Hze 10.05.2010 22:20

Цитата:

Сообщение от serg-php
ReduKToR



В базе хранить не есть хорошо!

Тем более, что файлы всерднем метровые!

Это что базу в 5 гигов делать?

Ну если с самого начала не продумал такие мелочи, то возможно и в 5г будет база.
Я бы все же в фоне грузил на нужный файл-сервер, при помощи php такое реализуется нетрудно.

serg-php 11.05.2010 00:35

PHP код:

Я бы все же в фоне грузил на нужный файл-серверпри помощи php такое реализуется нетрудно


Не совсем представляю, как это средставами пхп?

Образец бы!


Время: 23:42