Основные понятия Компенсирующего диспетчера ресурсов COM+
Вы можете использовать менеджер ресурсов COM+ компенсации (CRM), чтобы легко и быстро интегрировать ресурсы приложений с транзакциями координатора распределенных транзакций Microsoft (DTC). Ресурсы приложения могут голосовать по результату транзакции и получать окончательное уведомление о его результатах. Устойчивый журнал создается таким образом, чтобы ресурсы приложения могли записывать записи, которые выживают сбои, и CRM восстанавливает этот файл журнала при перезапуске приложения.
CRM состоит из следующих двух компонентов:
- Сотрудник CRM. Этот компонент выполняет основную работу конкретного CRM и реализует интерфейс, характерный для задачи, которую необходимо выполнить. Инфраструктура CRM предоставляет интерфейс рабочей роли CRM, через который CRM-агент может записывать данные в надежный файл журнала на диске. Работник CRM должен фиксировать данные в журнале и сделать их долговечными перед выполнением своей работы, чтобы, в случае сбоя, восстановление прошло корректно. Для оператора CRM всегда требуется транзакция.
- Компенсатор CRM. Этот компонент создается инфраструктурой CRM при завершении транзакции. Он реализует определенный интерфейс, с помощью которого инфраструктура CRM может передавать уведомления о завершении транзакций и записи журнала, ранее созданные CRM Worker.
COM+ CRM обеспечивает атомарность с уведомлениями о транзакциях и сохранностью через журнал CRM, но не обеспечивает изоляцию ресурсов. В многопоточной среде разработчик CRM отвечает за то, чтобы доступ к ресурсам со стороны нескольких сотрудников CRM или внешних приложений был сериализован во время транзакции.
После прохождения этапа подготовки компенсатор CRM и работники CRM могут работать одновременно. Компонент CRM-работника новой транзакции может стать активным, пока компенсатор CRM предыдущей транзакции всё ещё завершает обработку.
Во время сбоев до восстановления приложения сервера CRM прерванная транзакция должна считаться активной и не завершенной. Перед восстановлением процесса сервера CRM внешние процессы не должны получать доступ к ресурсам, которые были изменены этой конкретной транзакцией.
CRM определяет три типа интерфейса для основных функций CRM:
- ICrmLogControl реализуется на уровне служащего CRM и используется CRM работником для ведения журнала. Он также может использоваться компенсатором CRM.
- ICrmCompensator и ICrmCompensatorVariants реализованы на CRM компенсаторе. Эти интерфейсы используются для доставки уведомлений о результатах транзакций и сопутствующих записей журнала в компенсатор CRM. Как правило, компенсатор CRM реализует только один из этих интерфейсов, в зависимости от того, нужны неструктурированные или структурированные записи журнала. структурированные записи журнала — это записи, созданные в виде коллекции вариантов и обычно используемые Microsoft Visual Basic. неструктурированные записи журналов — это просто буфер байтов и обычно используются Microsoft Visual C++. Компенсатор CRM может реализовать оба интерфейса компенсатора; однако для передачи логов используется только один за раз.
- Интерфейсы мониторинга COM+ CRM используются для мониторинга CRM в определенном серверном приложении. Подробные сведения об интерфейсах мониторинга см. в интерфейсах мониторинга COM+ CRM.
В следующих разделах этого раздела содержатся дополнительные сведения о службе COM+ CRM:
- Особенности безопасности COM+ CRM
- Операционный процесс COM+ CRM
- Запуск и восстановление COM+ CRM
- использование COM+ CRM в среде кластера
- обработка ошибок в COM+ CRM
- Настройки реестра COM+ CRM
- Устранение неполадок в системе COM+ CRM
- Рекомендации по проектированию COM+ CRM
- интерфейсы мониторинга COM+ CRM
- CRM-интерфейсы COM+
Связанные разделы