newARTix
Новичок
Remote MySQL сервер. Размышления вслух
Есть сайт (точнее еще нет), который реализует веб-интерфейс определенной программы, крутящейся на удаленном (от хостинга) сервере. Программа в качестве БД использует MySQL. И сайт по сути должен работать напрямую с этой БД расположенной на этом удаленном сервере.
Ну понятно что обычные странички самого сайта хранятся на локальном хостинговом MySQL, а к удаленной маське сайт подключается только в необходимые моменты выполнения прямых функций (формирование заявок).
И вот проблема. Не нравится мне такая удаленная работа, так как это явно увеличит время отклика для посетителя сайта и ни о какой надежности не может быть и речи (на ночь сервер могут тупо выключить, забыв про сайт). С другой стороны, формируя заявку на сайте, желательно иметь максимально актуальную и свежую информацию из удаленной маськи, так как заявки могут быть конкурирующими и конфликт хоть и не смертелен, но будет очень неприятен.
Таким образом, желательно, когда коннект с удаленной маськой устойчивый - использовать ее в качестве источника, а если коннекта нет, или он медленный - использовать локальный кэш.
Задался вопросом как это реализовать на уровне приложения. На уровне БД нет смысла мутить, не тот масштаб и бюджет.
Думал сделать какой-то отдельный скрипт на php (на том же сайте), который будет проксировать запросы к удаленной маське, или даже реализует набор RPC, а на сайте вместо прямого обращения к удаленной маське, делать CURL запросы к этому скрипту, замерять время ответа, и если оно превышает какие-то разумные пределы, то переключаться на локальную БД незаметно для посетителей.
Родные функции mysql_* я так понимаю синхронны, и регулировать таймаут на них невозможно?
Есть сайт (точнее еще нет), который реализует веб-интерфейс определенной программы, крутящейся на удаленном (от хостинга) сервере. Программа в качестве БД использует MySQL. И сайт по сути должен работать напрямую с этой БД расположенной на этом удаленном сервере.
Ну понятно что обычные странички самого сайта хранятся на локальном хостинговом MySQL, а к удаленной маське сайт подключается только в необходимые моменты выполнения прямых функций (формирование заявок).
И вот проблема. Не нравится мне такая удаленная работа, так как это явно увеличит время отклика для посетителя сайта и ни о какой надежности не может быть и речи (на ночь сервер могут тупо выключить, забыв про сайт). С другой стороны, формируя заявку на сайте, желательно иметь максимально актуальную и свежую информацию из удаленной маськи, так как заявки могут быть конкурирующими и конфликт хоть и не смертелен, но будет очень неприятен.
Таким образом, желательно, когда коннект с удаленной маськой устойчивый - использовать ее в качестве источника, а если коннекта нет, или он медленный - использовать локальный кэш.
Задался вопросом как это реализовать на уровне приложения. На уровне БД нет смысла мутить, не тот масштаб и бюджет.
Думал сделать какой-то отдельный скрипт на php (на том же сайте), который будет проксировать запросы к удаленной маське, или даже реализует набор RPC, а на сайте вместо прямого обращения к удаленной маське, делать CURL запросы к этому скрипту, замерять время ответа, и если оно превышает какие-то разумные пределы, то переключаться на локальную БД незаметно для посетителей.
Родные функции mysql_* я так понимаю синхронны, и регулировать таймаут на них невозможно?