Hey everyone,
many times, questions similar to “how do I wait for my event handler/saga step to finish” or “how do I know my data has finished projecting” have been asked on this forum, and others. Some of them are answerable with SubscriptionQueries, but that only works in very limited scenarios, and the question in general remains unanswered (other than the ubiquitous “embrace the eventually consistent nature” ).
I’ve long been dissatisfied with this, and a few months ago, I had an idea on how to fix it, not just for Axon, but for distributed systems in general. I’d like to introduce you to structured cooperation, a concept that builds on structured concurrency, and deals with many of the issues that plague distributed systems, and by extension, Axon.
I would love to get some feedback from the community at large, and discuss if, and how, this would make sense to incorporate into Axon - I honestly think it would benefit greatly. I already implemented a simplified, bolted-on version in the community edition months ago that I can share, but I want to start by opening the conversation and seeing what the community thinks.