Как сохранить работоспособность системы при замене текущего двигателя

У нас есть две системы, A а также B, Система B отправляет запрос на запись и чтение, а A возвращает ответ на каждый запрос на чтение, используя существующий механизм E_current в A. Каждый запрос на запись вызывает изменение в существующем механизме E_current.

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

После завершения процесса обновления E_current будет выселен, а E_new станет E_current.

Требования:

  1. Запросы полностью совпадают. Например, запрос на запись может поступить во время обработки запроса на чтение.
  2. Многочисленные модификации любого двигателя E могут привести к несовместимому состоянию, согласованность состояний должна быть сохранена.

Диаграммы:

https://dl.dropbox.com/u/3482709/stack1.jpg

https://dl.dropbox.com/u/3482709/stack2.jpg

0 ответов

Другие вопросы по тегам