Протоколы среды выполнения в базе данных: Обзор
Протоколы транзакций и реабилитации можно хранить в реляционной базе данных для обеспечения процессов поддержки высокой готовности и восстановления после аварий.
Служба транзакций WebSphere Application Server записывает информацию в протокол транзакций для каждой глобальной транзакции, использующей два или больше ресурсов или распределенной по нескольким серверам. Эти транзакции запускаются или останавливаются приложениями или контейнером, в котором они развернуты. Служба транзакций обслуживает протоколы транзакций для обеспечения целостности транзакций. Информация записывается в протоколы на этапе подготовки распределенной транзакции. Если WebSphere Application Server с активными транзакциями перезапускается после сбоя, служба транзакций может использовать эти протоколы для повторного выполнения любых спорных транзакций. Такая реализация позволяет вернуть в согласованное состояние всю систему. Дополнительная информация приведена в разделе Файл протокола транзакций.
Служба реабилитации WebSphere Application Server позволяет приложениям в разных системах координировать операции, более сложные, чем атомарные транзакции. Она сохраняет информацию в собственных выделенных протоколах восстановления. Эта информация требуется для реабилитации после сбоя системы.
IBM Business Process Manager позволяет сохранять эти протоколы среды выполнения в системе восстановления данных двумя способами. Как в предыдущих выпусках, протоколы транзакций можно сохранять в файлах операционной системы. При этом подходе для поддержки транзакции высокой готовности требуется использование общей файловой системы для хранения протоколов транзакций, такой как сетевая файловая система (NFS) или распараллеленная файловая система IBM (GPFS). Общая файловая система обычно монтируется в сети хранения данных (SAN). Хранение данных среды выполнения в файлах операционной системы остается рекомендованной конфигурацией, но существует другая конфигурация, которую можно использовать для обеспечения высокой готовности.
С помощью функций, добавленных в IBM Business Process Manager версий 8.0.1.2 и 8.5.0.1 можно сохранять протоколы транзакций и реабилитации в реляционной базе данных. Эта конфигурация может применяться при необходимости использования функций баз данных, таких как DB2 HADR или Oracle Data Guard, для обеспечения высокой готовности протоколов среды выполнения. Она поддерживает автоматическую репликацию протоколов транзакций и реабилитации в систему восстановления после аварий. Данные установки и настройки можно скопировать непосредственно с основного сайта. Все данные среды выполнения сохраняются в базе данных. Репликацию баз данных можно использовать для синхронизации данных среды выполнения между основным сайтом и сайтом для восстановления после аварий, если все все связанные с выполнением данные можно настроить для хранения в одной базе данных.
В топологии, показанной на сопроводительной диаграмме, в каждом центре обработки данных каждый кластер содержит два элемента. Для использования кластеров высокой готовности настройте все элементы в кластерах приложений, поддержки и сообщений на хранение протоколов транзакций в базе данных. Во время обычной работы все элементы кластера получают доступ к своим таблицам транзакций для сохранения сведений о транзакциях. При отказе одного элемента кластера администратор высокой готовности уведомляет другой элемент этого кластера о необходимости приступить к работе. Затем администратор высокой готовности запускает автоматическое восстановление таблиц протоколов транзакций сбойного элемента кластера.
Для репликации баз данных уверенным в согласованности данных можно быть только при наличии одиночной базы данных. Если одна транзакция использует две или больше баз данных, то способа обеспечить согласованность данных не существует, так как невозможно скоординировать два процесса репликации. Поэтому для IBM BPM Standard Edition рекомендуется настроить хранение протоколов транзакций в BPMDB. В приложениях процессов в IBM BPM Advanced Edition для хранения протоколов транзакций можно использовать CMNDB с продуктами Oracle с Data Guard. CMNDB с DB2 можно применять, если приложение процесса использует только BPEL.
Так как в одной транзакции может участвовать два или три элемента кластера, убедитесь, что протоколы транзакций всех элементов кластера настроены для хранения в базе данных. Разместите протоколы службы реабилитации в этой же базе данных.
На рисунке показана стандартная конфигурация для основного и резервного центров обработки данных.
