У нас это нормальная ситуация, когда есть стрим каких-то стейтов и чтобы среагировать надо вычислить дифф с тем что уже видели (есть в базе)
Вычисляем дифф
Проводим все реакции ( обычно они идемпотентные, неидемпотентных мб одна, ставим ее последней)
После чего бампаем версию стейта в базе и коммитим
Хорошо, что вы так можете, от интеграции зависит. Ну вот например у нас есть куча топиков с биржевой информацией, в каждом из них тебе летит инфа о заявках, причем инфа-то про одни и те же заявки, но в разном формате и порядке. Типо, заявка исполняется частично - тебе из 3 топиков прилетают 3 разных события в 3 разных форматах, между собой их никак не скореллировать и не дедуплицировать. А тебе надо события обработать, по нему в базенке сделать что-то, сходить куда-то. Или прикинь, заявка исполняется частично - тебе из 2 топиков прилетает по 1 событию, а из третьего прилетает 2 события на эту тему.