Version: 0.7.4

Статус (State)

State представляет текущую производительность данных объекта Actor в режиме Actor.Claptrap просто добавляет ограничение выше этого:"State может быть обновлен только путем отслеживания событий".State в Claptrap также имеет лучшую надежность из-за надежности отслеживания событий.

Номер версии State#

State в Claptrap имеет свойство с именем Version, которое представляет текущую версию State.Номер версии — это самоукрепление, начиная с 0, которое увеличивается после каждой обработки события.

State с номером версии 0 является начальным состоянием Claptrap, которое также можно назвать состоянием Бытия.Начальное состояние может быть настроено в соответствии с бизнес-потребностями.

Claptrap и Minion также имеют некоторые различия в обработке номеров версий.

Для Claptrap Claptrap является производителем события, поэтому номер версии события сам по себе предоставляется Claptrap.Например, во время обработки события в свою очередь происходят следующие события:

  1. State Version = 1000
  2. Начните работу с Event, Version — State Version + 1 — 1001
  3. Event обрабатывается, обновление State Version = 1001

Для Minion, так как он является потребителем событий Claptrap.Таким образом, номер версии обрабатывается немного по-другому.Например, во время обработки события следующие события происходят поот:

  1. State Version = 1000
  2. Событие, прочитанное для Event Version 1001
  3. Event обрабатывается, обновление State Version = 1001

Номера версий State и Event зависят друг от друга и проверяют друг друга, что является ключом к упорядоченности событий.Если номер версии State не совпадает с номером версии Event во время обработки, это может быть серьезной проблемой.Как правило, номера версий не совпадают, и есть только два случая:

  1. События на уровне сохраняемого данных отсутствуют
  2. Рамка злокачественная ошибка

ICON#

claptrap