Isn’t this pretty much just Erlang but with a clusterfuck of languages?
The author says “Message based systems have been around forever. The way I’m applying the concept is what’s new and interesting (at least to me).” But I’m also lost on exactly what the new ideas are.
It sounds like the author is wishing for a “Staged Event Driven Architecture” http://www.eecs.harvard.edu/~mdw/proj/seda/ — which was a really cool project. I think the SEDA idea has a lot of potential, but unfortunately the developer Matt Welsh, as an academic, was not incentivized to continue development. Matt discuss this problem, in general, here http://matt-welsh.blogspot.com/2012/06/startup-university.html
I’ll also point out that “If a worker fails, is restarted or killed the messge will be requeued and not lost.” sounds like a bad idea to me. This idea would only make sense if worker failures were unrelated to the message the worker is processing. In all likelihood though, workers fail when they can’t handle the input. In the case of a high-density DoS attack, this will just spread the attack amplifying the damage.
The way JBoss handles this is to send the failed messages to a failed queue where you can do whatever you want with them. You could easily requeue with an incremented fail_count number and just log and drop the message after it fails X amount of times.