Event Sourcing "мета-поток", содержащий имя, создание, удаление и т. Д. - PullRequest
0 голосов
/ 07 февраля 2020

В системе, над которой я работаю, у нас есть куча «процессов».
Каждый процесс может быть создан, переименован, (мягок) удален.
При создании процесса необходимо указать имя прежде чем нам разрешат продолжить.

Мы рассматриваем возможность создания «метапотока», содержащего экземпляры следующих событий:

  • Create {name, id}
  • Удалить {id}
  • Переименовать {name, id}

, а также другой поток, содержащий события, представляющие внутреннее состояние процесса.

Плюсы :

  • Если мы этого не сделаем, нам нужно будет добавить команду «Initialize {name}» - в поток немета-процесса. Нам пришлось бы применять инвариант, который эта команда инициализации должна стоять первой в каждом потоке процесса.

Минусы:

  • Истинное состояние процесс разделен между двумя разными потоками, нам нужно go одному потоку проверить, существует ли он, а затем другому потоку, чтобы получить его состояние. Может привести к несоответствиям.

Есть какие-нибудь размышления по этому поводу?

...