“I find that services are much more composable when they emit events rather then send requests.
Since this way the coupling between services is reduced”
Arnon
I really like this statement because, well its what I am working on, but also because it talks about events as a first class thing. I have been enjoying thinking about my current company in this light.
All business action has an external stimulus. Something happens outside the company, and this causes the company to do something. A customer calls or the market shifts, either way something happened and now you need to react. I like to think of these as events, and as such I have decoupled the event itself from the system that wants to respond to it. In the past the event would have been embedded in the system, flipping this around means multiple systems can respond to the ‘exact’ same business event. Neeeeeaters.
This is why integration via events is just so much easier.
I have also started to think about what it would mean to develop a system ‘event first’, and then you can look at what needs to be done when these events happen. It builds completely different systems, based on some initial drawings.
-d