У меня есть приложение с множеством микросервисов без сохранения состояния, которые передают свой переменный контекст друг другу. У меня есть случай, когда я запускаю несколько цепочек сервисов с одним и тем же контекстом параллельно, а потом жду их завершения. Каждая служба может изменять свой переменный контекст, но после завершения всех цепочек я должен объединить их переменные контексты и убедиться, что нет конфликтов.
Это показано в следующих примерах:
Эту проблему можно решить, сохраняя всю историю изменений переменных, но это огромные накладные расходы, которых я хотел бы избежать.
Другое решение, которое я вижу, состоит в том, чтобы найти некоторую хеш-функцию, которая позволяет вычислить хэш истории изменений по существующему хешу и новым данным, а также позволяет проверить, являются ли одни данные истории префиксом других данных истории, зная только их хэши. Но я не могу найти такую функцию.
Я ищу любой применимый алгоритм с как можно меньшим объемом данных.