За последние 24 часа нас посетили 22087 программистов и 1682 робота. Сейчас ищут 1747 программистов ...

Обмен данными между 3 серверами

Тема в разделе "PHP для профи", создана пользователем pircul, 5 мар 2018.

  1. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Нужно поднять 3 сервера.
    Пользователи будут загружать картинки и надо что бы когда на первый сервер была загружена аватарка, что бы она так же была доступна на втором или третьем сервере.

    Думаю хранить файлы в БД и настроить репликацию между серверами для передачи содержимого файлов.
    Подскажите пожалуйста, как можно грамотно решить этот вопрос?
     
  2. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    А если вынести хранилище картинок в отдельный сервис?
     
  3. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    подмонтировать через FTP с первого сервера директорию с картинками на остальные серверы..
     
  4. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    А почему тогда не редирек или file_get_contents так еще проще)
    Поднять самба на вспомогательных серверах и сохранять сразу куда нравится.
    или rsync rsnapsot etc
     
    #4 nospiou, 5 мар 2018
    Последнее редактирование: 5 мар 2018
  5. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Зачем всё это? Заводите отдельную машинку под userstorage, прикручиваете api для получения данных, ouath что бы пользователь мог заливать и раздаете куда нужно.
     
  6. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Например?

    Там как, время от времени сканируется директория и новые файлы отправляются куда
    надо по фтп?

    А если одной такой машинки недостаточно?)
     
  7. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    просто на одном сервере делаете директорию.. и складываете туда файлы, а на двух других просто монтируете как директорию подключение по ФТП (есть приложение для этого) и все работает...

    а насчет репликации... почему бы просто на одном сервере не дать возможность удаленного подключения и там хранить базу/таблицу для изображений)) ИМХО самый простой вариант)
     
  8. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Понятно. Спасибо за совет!
     
  9. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Стоп. Ты же понимаешь что это тоже самое что использовать один сервер просто ссылка будет другая?
    Правильно использовать rsync rsnapsot или samba но если только php то при запросе тянуть файл с главного сервера и сохранять на новый если его там нет. Но это уже извращения.
     
  10. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Rsync вроде только локально же работает? Или можно синхронизироваться с удаленным сервером?

    Про остальное надо будет почитать. Не сталкивался

    Кстати, как насчёт Hadoop-a? Вычитал что у него общая файловая система которая может использовать диски нескольких серверов как одно целое...
     
    #10 pircul, 5 мар 2018
    Последнее редактирование: 6 мар 2018
  11. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    через ssh точно работает плюс можно монтировать через самбу есть более продвинутые аналоги они уже и кэши в бд хранять и работают быстрее и соединение у них свое но для начала и rsnapsot норм
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ещё можно хранить номер сервера =) и отдавать урл с учётом этого
    а ещё можно заюзать облачные решения
     
  13. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Недостаточно для чего? Для раздачи статики? CDN. Есть конкретный кейс или это "теоретическая" проблема?