Одна или несколько тем (потоков) для события Aggregate Root в kafka


person Fajarmf    schedule 15.10.2015    source источник
comment
Я в той же лодке. Я, вероятно, буду группировать агрегированные события по одной теме, как вы сделали бы с сохранением событий и воспроизведением позже, вы, вероятно, захотите иметь дело с одной коллекцией, где у вас есть все необходимые события для агрегаций. Вероятно, требования к разрешениям и избыточности одинаковы для одного агрегата.   -  person Aram    schedule 14.09.2016
comment
Что ты решил? Я тоже в этой лодке.   -  person Josh C.    schedule 15.10.2017
comment
В большинстве случаев я остановился на одной теме (журналы транзакций), поскольку обнаружил, что преимущества сортировки событий перевешивают затраты на фильтрацию неиспользуемых.   -  person Fajarmf    schedule 16.10.2017


Ответы (1)


Я не уверен, есть ли правильный/неправильный вопрос, однако вот мои две копейки:

  • Мое эмпирическое правило — это тема для каждого ограниченного контекста, чтобы найти баланс между простотой управления и количеством событий, получаемых слушателями.
  • События в любом случае необходимо упорядочивать, чтобы они сохранялись в EventStore в правильной последовательности. Добавьте sequenceId к вашему событию и используйте Resequencer (например, в Camel), чтобы убедиться, что слушатель обрабатывает события в правильном порядке.

Надеюсь, что это поможет и хорошо выглядеть с вашим проектом.

person Alessandro Santini    schedule 07.05.2018