Допустим, у меня есть набор микросервисов (предположим, 5), которые генерируют события для каждой транзакции. Допустим, микросервис 1 генерирует событие INIT с ID1. Это событие используется службой 2 и добавляет свои собственные метаданные и поддерживает идентификатор, отправленный службой 1. Аналогично, все события проходят через все службы, если транзакция успешна, в противном случае служба, которая помечает транзакцию как неудачную, эти события будут игнорироваться другими службами. Все события выбрасываются в Кафку. Я могу sh назначить уникальный идентификатор всем событиям, относящимся к конкретной транзакции, и передать их на Had oop, используя Spark / Flink. Какой из них будет работать лучше для этого варианта использования?
Кроме того, я предполагаю, что мне понадобится временный кэш для хранения всех событий транзакции в течение некоторого времени, пока уникальный идентификатор не будет назначен всем событиям конкретной транзакции. Есть ли лучший способ сделать это с помощью потокового движка, такого как spark или Flink? Я читал о потоковой передаче и управлении окнами. Это поможет здесь?