Приветствую. Вопрос в том что может кто пришел к какому то, может не универсальному, но из качественных вариантов как сделать экспорт данных с одного сайта A и импорт на второй B. Сайты между собой не связаны, разные проекты, хотя похожие конечно. Например люди регаются на сайте А, и мне надо на сайт B импортировать и создать аккаунты для них, чтобы они и на него могли входить. Или например на сайте А, или еще например А1 делают заказы, и все они собираются в том числе на сайт B. И всегда нужно данные отправлять. Я вижу такой набор вопросов: 1) Как организовать безопасное общение. Ну тут в принципе не сложно, сайт на который стучат, будет ожидать api ключ, в гете например 2) Какая сторона должна этим заниматься? 2.1) Сайт А должен отправлять свои новые данные, а B получать и импортировать? 2.2) Или сайт B должен запрашивать с сайта A данные? На каком сайте в общем крон задача должна этим заниматься. 3) Как определять какие данные уже экспрортированы? Ну все данные отправлять не вариант, поэтому только тех которых нет. Мне кажется всякими метками с датами или номерами последних id-шек не сильно надежно. Например это в случае с 2.1) думаете каждой отправляемой строке надо поставить в соответствие флаг, экспортирована ли запись? Т.е., крон задача будет делать: - транзакция старт - выбрали порцию данных для отправки - отправили через апи - Если апи вернуло ОК, то меняем этим записям пометки что они экспортированы - транзакция commit Но можно такое же и в случае если сайт импортит себе данные, каждой импортированной строке сохранять id который он имеет на сайте доноре, и потом каждый раз в запросе запрашивать данные с id большим чем последний. В общем если кто думал о таком, то поделитесь мыслями, сайтов походу в этом проекте будет становиться больше и сейчас все напоминает хаос, в одном месте курлом постят, в другом POST-ы от других принимают, сейчас вон уже хотят гетом с другого сайта запрашивать данные... --- Добавлено --- Я ж забыл про один еще тонкий момент, например данные экспортированы, но потом изменились, и их надо возможно заново экспортировать, ну id донора то мы сохраняем для этого.
Имеете ввиду единую авторизацию и регистрацию? Так храните и делайте все на самом основном сайте А. И используете на всех остальных единую авторизацию и регистрацию
API-шки с системой событий. Тут всё от твоей фантазии зависит и от требований. Например, ты не хочешь, чтобы время общения АПИ-шек не входило во время загрузки страницы. А это может быть вполне так ощутимым временем. События добавления/изменения/удаления сущностей, которые необходимо синхронизировать, добавляют действие в очередь (например в таблицу в БД) На кроне висит скрипт, который чекает очередь и выполняет действия. Безопасность = https + ультрадлинные токены. По началу можно их и захардкодить. А там как пойдет.
нет, пользователи там просто как пример то чем придется обмениваться. Эти сайты разными разработчиками ведутся, хостятся отдельно, нет общей кодовой базы
Все равно. Я бы создал единый сервис/апи к которому обращались бы все сайты, для crud. С разделением прав и прочими плюшками. И никаких проблем с репликациями/синхронизациями