Транзакционные вычисления

Большая часть бизнес-приложений использует транзакционные вычисления, которые находятся в центре внимания данной книги. Транзакционная система — это система, в которой один или большее количество поступающих наборов данных обрабатываются совместно в рамках единой транзакции и устанавливают взаимосвязи с другими данными, уже введенными в систему. Основой транзакционной системы обычно является реляционная база данных, которая управляет взаимоотношениями между всеми данными, образующими систему.

На рис. 1.2 показана логическая структура транзакционной системы высокой отказоустойчивости. При использовании архитектуры этого типа сервер приложений обычно обрабатывает данные, хранящиеся в базе данных, и представляет их через Web-интерфейс. За счет этого пользователь может работать с данными. Большинство Web-сайтов и Web-приложений, которые вы используете в своей повседневной работе, представляют собой ту или иную форму транзакционной системы. Для обеспечения высокой отказоустойчивости все эти компоненты могут формировать кластеры, а бизнес-логика и логика представления данных могут прятаться за балансировщиком нагрузки1.

Развертывание транзакционной системы в облаке несколько сложнее и не настолько самоочевидно, как развертывание грид-системы. В то время как в гридсистеме узлы должны быть короткоживущими, в транзакционной системе они должны быть долгоживущими.

Ключевой проблемой для любой системы, нуждающейся в долгоживущих узлах в облачной инфраструктуре, является тот основополагающий факт, что среднее время наработки на отказ (MTBF) для виртуального сервера обязательно меньше,

1 Балансировщик нагрузки (load balancer) — это программный или аппаратный компонент сети, который распределяет процесс выполнения заданий между несколькими серверами сети с тем, чтобы оптимизировать использование ресурсов и сократить время вычисления.

См., например: http://citforum.ru/internet/webservers/websbal.shtml, http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094820.shtml.    —    Прим. перев.

чем для поддерживающих его аппаратных средств. В предельно упрощенной формулировке эта проблема выражается так: если у вас есть два физических сервера, среднее время наработки на отказ для которых составляет три года, то вероятность сбоя во всей системе у вас будет меньше, чем если бы вы имели только один физический сервер, на котором работают два виртуальных узла. Фактически количество физических узлов управляет показателем MTBF, а так как физических узлов меньше, в вашей облачной транзакционной системе для физических узлов MTBF будет выше, чем для виртуальных.

Рис. 1.2. В транзакционных приложениях функции подразделяются на представление данных, реализацию бизнес-логики и хранилище данных

Однако облачные вычисления предлагают ряд подходов, которые помогают не только сгладить эту проблему, но и потенциально увеличить общий показатель MTBF для транзакционной системы в целом. Далее в этой книге мы рассмотрим некоторые приемы, которые позволят добиться уровня готовности, более высокого, чем можно добиться в рамках вашего бюджета, и при этом поддерживать транзакционную целостность вашего облачного приложения.

Источник: Риз Дж., Облачные вычисления: Пер. с англ. — СПб.: БХВ-Петербург, 2011. — 288 с.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете промотать до конца и оставить ответ. Pinging в настоящее время не допускается.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100