Интересует мнение по проблеме

Discussion in 'PHP' started by serg-php, 21 Apr 2010.

  1. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Ситуация!

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

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

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


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

    Joined:
    1 Mar 2009
    Messages:
    102
    Likes Received:
    10
    Reputations:
    0
    Подобный проблем... Хочу реализовать mirror или backup сервер
     
  3. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    ^_WhitE_DeMoN_^,

    Что Вариант только фтп?
     
  4. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    А если такой файл уже загружен? Как система поймет это? А если нужно удалить один файл и вместо него добавить другой?

    Скажем, так
    PHP:
    define('FILE_DIR''home/html/files/');
    еслибы заменить на


    PHP:
    define('FILE_DIR''ftp://user:user@123.232.127.34/files/');
    Будет ли такая конструкция работать?
     
    #4 serg-php, 22 Apr 2010
    Last edited: 23 Apr 2010
  5. $now

    $now Member

    Joined:
    27 Apr 2009
    Messages:
    75
    Likes Received:
    9
    Reputations:
    3
    Есть два подхода к проблеме.

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

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

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

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

    Какой способ использовать решать вам.
     
    #5 $now, 23 Apr 2010
    Last edited: 23 Apr 2010
  6. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Так об это-то и речь идет!

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

    $now Member

    Joined:
    27 Apr 2009
    Messages:
    75
    Likes Received:
    9
    Reputations:
    3
    serg-php
    Файлами между серверами лучше обмениваться по http - быстрее. Я бы написал RPC службу принимающую файлы - быстро и надежно.
     
  8. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    $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>
     
  9. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    Может ли помочь allow_url_fopen
     
  10. ReduKToR

    ReduKToR Active Member

    Joined:
    5 Jan 2009
    Messages:
    257
    Likes Received:
    179
    Reputations:
    4
    Храни изображения в бд) а не в файлах
    Доступ к бд как ты говоришь реализован!
     
  11. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    ReduKToR

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

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

    Это что базу в 5 гигов делать?
     
  12. serg-php

    serg-php Elder - Старейшина

    Joined:
    28 Jan 2008
    Messages:
    313
    Likes Received:
    9
    Reputations:
    0
    PHP:
    Я бы все же в фоне грузил на нужный файл-серверпри помощи php такое реализуется нетрудно.

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

    Образец бы!