Past night I went to a NodeJS meetup about micro servers and Docker instead of working at home. It was very interesting to see their approach to data distribution. I find it similar to NServiceBus, which I was trying to use at emuse, but with a more lightweight approach.
What I like is the lack of network structure definition upfront (which is heavy enough in the things I am doing). In my case, I need to define each endpoint, and then annotate them on each client server. Instead, the demo was about sending all data to a bus and detecting the pattern of each message, and acting based on its details. Then, every server receive every message, and if the message has details saying that a given server has to process it, the server will work on the data and post the results back on the bus for the next service.
Work pipeline definition should then be simple and easy to change. My only concern is about network traffic (how many messages are you going to have around?), but I can think of a couple of ways to address that (probably the SenecaJS code has some solutions too, I will have to check).
The talk about Docker was more in line with its documentation, and I didn’t get too much out of it because I was going through in the previous days, but still it was good to align it with the bus architecture.
All in all, it was an evening well spent.by