Evaluating persistent, replicated message queues
warski.org
warski.org
It's long been very popular, and has all the flexibility and enterprisey goodness you could want, but has not had a reputation for speed. However, i believe there was a release a year or two ago that significantly improved performance. I vaguely remember this being based on an infusion of technology from the Qpid project, which itself has a broker:
http://qpid.apache.org/components/java-broker/index.html
Or maybe that was what led to Apollo, which is the faster, more reliable successor to ActiveMQ, but which hasn't, er, succeeded ActiveMQ:
http://activemq.apache.org/apollo/
Or maybe i just imagined the link to Qpid.
I'm fairly hazy on how these bits of software relate, and i can't promise you there aren't more somewhere in the vast Apache mansion. Even figuring that out would be useful, never mind the benchmarks!
ActiveMQ does have replication, but they don't really sound convincing in the docs that it's first-class ;)
I would like to have a broker that sits between an application and several endpoint services to which the application makes requests via the broker. These endpoint services have rules, typically throttling rules (i) you cannot submit more than x number of request per second (ii) you cannot queue up more than y number of requests at our end (iii) you must put a delay of z seconds after we have responded to a request of yours, etc., etc.
Is there a defacto standard open source software for this situation, that would take a config file describing the policies to follow for an end point. My requirement is pretty toy'ish, small to medium scale only. Just taking a look at Redis docs (am new to that too) it seems it will not be that hard to write out a simple solution. Would that be the way to go ? Or is there something out there that already handles this.
However I'm not aware of a standard solution in that space.
Take a look at Reactive Streams (http://www.reactive-streams.org/) as well.
These are the situations, in a scaling, production system that really matter.
Jepsen post provide some insights (into Mongo and Rabbit). With Hornet you can easily end up with two primaries. SQS is untestable in that respect :).
in particular:
Stay tuned, I'm out soon till end of next week, but will definitely add it.