stringtranslate.com

Распространенность системы

Распространенность системы [1] — это простой шаблон архитектуры программного обеспечения , который объединяет образы системы (моментальные снимки) и ведение журнала транзакций для обеспечения скорости, масштабируемости производительности, прозрачного сохранения и прозрачного живого зеркалирования состояния компьютерной системы .

В широко распространенной системе состояние хранится в памяти в собственном формате, все транзакции регистрируются , а образы системы регулярно сохраняются на диск.

Системные образы и журналы транзакций могут храниться в формате сериализации , специфичном для конкретного языка , для повышения скорости или в портативных форматах для кросс-языкового использования.

Первым использованием термина и общей, общедоступной реализацией уровня распространенности системы был Prevayler , написанный для Java Клаусом Вюстефельдом в 2001 году. [2]

Преимущества

Простое сохранение состояния системы в оперативной памяти в его обычном, естественном, специфичном для языка формате на несколько порядков быстрее и удобнее для программиста, чем множественные преобразования, которые необходимы при его сохранении и извлечении из СУБД . В качестве примера Мартин Фаулер описывает « Архитектуру LMAX » [3] с журналом транзакций и бизнес-системой на основе образа системы (моментального снимка) в ее основе, которая может обрабатывать 6 миллионов транзакций в секунду в одном потоке.

Требование

Распространенной системе требуется достаточно памяти для хранения всего ее состояния в ОЗУ («распространенная гипотеза»). Сторонники распространенности утверждают, что эта проблема постоянно смягчается снижением цен на ОЗУ и тем фактом, что многие бизнес-базы данных уже достаточно малы, чтобы поместиться в памяти.

Программистам необходимы навыки работы с бизнес-состоянием непосредственно в оперативной памяти, а не использования явных вызовов API для хранения и запросов для извлечения.

События системы должны фиксироваться для ведения журнала .

Смотрите также

Ссылки

  1. ^ Джонсон, Ральф, д-р "Распространенные системы: язык шаблонов для сохранения" (PDF) . Архивировано из оригинала (PDF) 2017-06-10.{{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
  2. ^ Клаус Вюстефельд (2001-12-23). ​​"Преобладание объектов". Advogato . Получено 2008-04-02 .
  3. ^ Мартин Фаулер (2011-07-12). "Архитектура LMAX" . Получено 2011-07-28 . Поток, который будет обрабатывать 6 миллионов заказов в секунду с использованием стандартного оборудования.

Внешние ссылки