WebLog
WebLog - инструмент, предоставляющий
техническую возможность сократить
простой internet-системы в случае
критического сбоя, а также значительно
снизить стоимость системы резервирования
при использовании бесплатных сервисов
и повысить доступность данных посредством
многократного тиражирования.
В последнее премя в internet получили
широкое распространение программные
решения, созданные на PHP/MySQL для
удаленных хостинг-платформ.
Такой подход создает преимущества
в виде отсутствия необходимости владения
и администрирования сложной аппаратно-программной
платформы и в то же время позволяет
осуществлять связь с широким кругом
потенциальных заинтересованных лиц
в internet.
Но также такой подход обладает и
рядом недостатков, в числе главных
из которых следует упомянуть низкую
готовность данных, размещенных на
удаленной целевой платформе, в случае
критических сбоев.
Как правило, заказчик internet-ресурса
не осведомлен о возможных проблемах,
а сторонний разработчик не заинтересован
сообщать все детали реализации и,
тем более, обеспечивать высокую готовность
типовыми средствами. Это позволяет
сделать вывод о том, что подавляющее
большинство существующих ресурсов
с возможностью динамического формирования
контента являются критически зависимыми
от сбоев на стороне хостинг-провайдера
и в среде передачи.
В лучшем случае, провайдер предоставляет
за отдельную плату услугу записи содержимого
всей БД на некий момент времени и
пересылку ее заказчику offline-почтой.
Или гарантирует восстановление из
своей резервной копии состояния БД
на какой-то момент. В любом случае,
вероятнее всего данные за последние
день-неделю-месяц (зависит от провайдера,
его территориальной удаленности и
стоимости тарифного плана) будут утеряны.
Такая ситуация совершенно недопустима
для ответственных ресурсов, связанных
с обменом материальными ценностями.
Другой существенный недостаток состоит
в том, что с ростом числа пользователей
ответственной интернет-системы и объема
данных в ней возрастает сложность
переноса системы на любую другую хостинг-платформу,
например, к провайдеру, предоставляющему
более выгодный тарифный план. Такая
миграция, в зависимости от провайдера
и уровня самого заказного решения,
либо вообще невозможна либо сопряжена
со значимыми временными и административными
проблемами.
Технология разработки PHP/MySQL-приложений
WebLog служит для обеспечения повышенной
готовности программных решений на
базе PHP/MySQL и преодоления вышеуказанных
проблем.
В общем плане, технология WebLog
представляет собой реализованную в
рамках PHP/MySQL систему журнализации,
архивирования, отложенного тиражирования
и восстановления всех действий, производимых
во внешней базе данных, включая как
управление ее структурой, так и операции
с данными.
Архитектура WebLog определяет три
направления потоков информации - восходящий,
нисходящий и резервный.
Восходящий поток состоит из SQL-операторов,
направленных к исполнению в целевой
БД. Он формируется backoffice-системой
для задания или модификации структуры
удаленной СУБД и/или для отображения
текущего снимка ее эталонных данных
в удаленной СУБД и транспортируется
в упакованном виде поверх FTP.
Нисходящий поток состоит из полей
записей таблиц, определяемых разработчиком
для передачи в backoffice-систему.
Он позволяет осуществлять синхронизацию
состояния удаленной СУБД с эталонной
БД и служит, в основном, для передачи
данных от internet-пользователей.
В качестве транспорта также используется
FTP.
Резервный поток представляет собой
стандартное почтовое сообщение с прикрепленным
упакованным файлом, передаваемое поверх
IMAP на заданный список E-mail-адресов.
Он содержит записи журнала WebLog,
которые отражают все изменения целевой
БД, произведенные как backoffice-системой
так и internet-пользователями за определенный
промежуток времени.
Разработка в рамках WebLog предполагает
обслуживание потоков всех направлений
либо произвольного их сочетания. Каждое
направление обслуживается собственным
обработчиком. Обработчик можно запускать
к исполнению как вручную так и в автоматическом
режиме с настраиваемым периодом тактирования,
начинающемся от одного раза в минуту
(для crond в Unix) или чаще (зависит
от ОС провайдера).
Обработчики обеспечивают необходимый
уровень блокирования момента исполнения
для обеспечения целостности данных.
Для обработчика резервного потока
также существует возможность управления
максимальным размером почтового сообщения.
Структура WebLog позволяет отслеживать
состояние процесса загрузки/выгрузки
данных и предполагает определенный
набор действий по устранению последствий
сбоев.
Процесс резервирования данных позволяет
осуществлять накопление изменений
БД малыми порцими данных из журнала,
в пределе, изменениями за последнюю
минуту (Unix-хостинг) и эффективно
тиражировать эти кванты данных по
территориальноудаленным точкам хранения
без каких-либо значимых затрат. В
частности, на данный момент ведущие
мировые почтовые службы предоставляют
бесплатно гигабайты пространства для
E-mail, что снимает в большинстве
случаев необходимость получать полную
(значительно устаревшую) копию БД
у провайдера. А поскольку WebLog журнализирует
стандартные SQL-операторы вместо данных
закрытых форматов конкретной версии
СУБД провайдера, то восстановление
или поддержка состояния БД на ином
провайдере возможна даже на сильно
различающихся версиях СУБД или вообще
на СУБД разных производителей.
В любом случае, WebLog предоставляет
техническую возможность сократить
простой системы в случае критического
сбоя от нескольких дней до нескольких
минут при значительном сокращении
требованиий к квалификации персонала
заказчика, поддерживающего его internet-систему,
а также значительно снизить стоимость
системы резервирования при использовании
бесплатных сервисов, поднять степень
ее устойчивости в результате значительной
территориальной удаленности ресурсов
ведущих почтовых служб и повысить
доступность данных посредством многократного
тиражирования.
Чтобы задать нам вопрос
по поводу системы WebLog, перейдите
на страницу Контакты