JOlivier EventStore разница и использование StreamRevision и CommitSequence?

При поиске JOlivers "EventStore" я вижу, что StreamRevision и CommitSequence одинаковы, если вы только фиксируете 1 событие. И именно StreamRevision используется для выбора событий с помощью.

Предположим, я сначала создал агрегат, который завершил 1 событие. И после этого выполнили 10 событий, которые сделали бы мою таблицу базы данных SQL такой (упрощенной):

Revision    Items   Sequence
1           1       1   
11          10      2

У меня есть 2 вопроса, которые вытекают из этого:

  1. В этом ли разница между StreamRevision и CommitSequence?

  2. Магазин предоставляет метод "GetFrom", который принимает "minRevision" и "maxRevision". С этими данными, как это работает, если я запрашиваю minRevision=4 и maxRevision=8? Разве это не должно быть "minSequence" и "maxSequence" вместо этого?

Благодарю.

Вернер

1 ответ

Решение

Коммиты - это концепция хранения, которая предотвращает дублирование и способствует оптимистичному параллелизму с помощью механизмов хранения, которые не поддерживают транзакции, таких как CouchDB и MongoDB. StreamRevision, с другой стороны, представляет количество событий, зафиксированных в потоке.

Когда вы работаете с потоком и вызываете GetFrom() с минимальной / максимальной ревизией 4-8, это означает, что вы хотите (в соответствии с вашим примером) все события, начиная с v4 до v8, которые инкапсулированы коммитом #2.

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