| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Обмен данными между сайтами |
| Автор: kahegal 22.10.2015, 22:40 |
| Прошу поделится своим опытом или предположениями. Вопрос такой. Существует два сайта, назовем сайт А и сайт B. У каждого свая база данных. В базе данных сайта А есть таблица которая также нужна сайту B. При редактировании этой таблицы создается (перезаписывается) XML файл на хостинге сайта А. Сайт B с определенным периодом времени, забирает этот xml файл и сверяет данные, если они обновились, перезаписывает их в таблицу БД. Вопрос в том как можно с сайта А сообщить сайту В , что данные в xml файле обновились, и пора их забрать ? |
| Автор: ksnk 22.10.2015, 22:55 |
| Пусть сайт А сделает пост запрос на B. |
| Автор: kahegal 22.10.2015, 23:21 |
| мне бы желательно что бы сайт А на сайте B функцию запускал. |
| Автор: ksnk 22.10.2015, 23:56 |
пост - это не функция? Что, тогда, такое функция? |
| Автор: kahegal 23.10.2015, 11:02 |
| пример какой нибудь можете написать ? |
| Автор: ksnk 23.10.2015, 11:33 |
| Пример? google - `php curl post request sample`. |
| Автор: Starikan 23.10.2015, 15:41 |
| когда данные передаешь через хост, массивные строки задаются через другой канал и таким образом в БД сохраняется только частичная сессия после запроса на серевер через функцию |
| Автор: Envy 26.10.2015, 14:30 |
| Я что-то ничего не понял, можно подробнее, пожалуйста? :) Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Obmen-dannymi-mezhdu-saytami-id56293c0cae20157f1c8b4567#findElement_E7045_562e0ee7ae2015e4078872ad_0 |
| Автор: Envy 26.10.2015, 14:49 |
| У меня есть несколько вариантов решения: 1) А готовит XML и делает POST запрос к B, передавая ему этот файл. В разбирает полученный XML и применяет изменения у себя. 1.1) А готовит XML, но не передает его B, а делает запрос к B просто сообщая что "у меня тут новые изменения, забирать тут - <url>". B, получив такой запрос знает, что есть новые изменения, и, когда будет готов забирает XML с А, и применяет изменения у себя. 2) При любом изменении в БД, А делает запрос к Б, содержащий только эти изменения. Этакий патч. 3) Master-slave репликация для одной таблицы между БД А и B. Mysql так умеет, хоть это и опасно(replicate-do-table). 4) (в дополнение к 1, 1.1 и 2) Если нужно именно RPC, то можно использовать SOAP Pros: 1, 1.1 - Легко реализуется 2 - Чуть сложнее реализуется, но изменения доступны на B практически сразу. Изменения инкрементальные => небольшой размер передаваемых данных 3 - Все решается на уровне СУБД, ничего кодить вообще не надо Contra: 1, 1.1) - Надо генерировать/парсить XML. При чем только для того, чтобы его передать. Относительно большая задержка между изменениями на А и применением этих изменений на B. 2) Если изменения на А частые - мы сами себя заддосим. 3) Чревато разнообразными неприятными последствиями, если используются ссылки на/из этой табицы, etc. 4) Не понятно, зачем вообще RPC, если можно обойтись простыми POST/GET запросами Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Obmen-dannymi-mezhdu-saytami-id56293c0cae20157f1c8b4567#findElement_E7045_562e1358ae2015ce10886f86_0 |
| Автор: bobik02 4.11.2015, 09:18 |
| Только не SOAP A шлет POST запрос, B принимает ложит в очередь ну а дальше запускаетсья процесс обратобтки xml. |