Hey Srdjan,
Thanks for responding. I completely understand that it's too early and possibly not a good fit for this framework. I was just curious to hear your thoughts about it.
To elaborate some more, what I had in mind would still be RPC and not exactly event-driven, though it would seem that way. The framework could abstract those details. Let's say the checkout service declares that it supports an event,
NewOrder, possibly in the config, type or
Init(). The shipping and notification services declare that, if available, they want to listen for
NewOrder and provide their callback for it. The framework is able to make this connection. In the checkout service, after the order is created, it calls something like
weaver.DispatchEvent(NewOrder, orderData), and the framework knows which services it needs to call and pass
orderData too; which can be done asynchronously. So in the end, the calls are the same, it's just the framework that stitches it together for you and your checkout service never needs to be aware of who's interested in what it is doing.
It's just an idea to provide a different way of achieving ultimately the same thing, but perhaps allows for more/different modularity.
Thanks again