README.md in worker_roulette-0.1.12 vs README.md in worker_roulette-0.1.13
- old
+ new
@@ -1,9 +1,21 @@
# WorkerRoulette
-WorkerRoulette is designed to allow large numbers of unique devices, processes, users, or whatever communicate over individual channels without messing up the order of their messages. WorkerRoulette was created to solve two otherwise hard problems. First, other messaging solutions (I'm looking at you RabbitMQ) are not designed to handle very large numbers of queues (millions); because WorkerRoulette is built on top of Redis, we have successfully tested it running with millions of queues. Second, other messaging systems assume one (or more) of three things: 1. Your message consumers know the routing key of messages they are interested in processing; 2. Your messages can wait so that only one consumer is processed at a time; 3. You love to complicated write code to put your messages back in order. Sometimes, none of these things is true and that is where WorkerRoulette comes in.
+WorkerRoulette is designed to allow large numbers of unique devices, processes, users, or whatever communicate over individual channels without messing up the order of their messages.
+WorkerRoulette was created to solve two otherwise hard problems:
+
+1) Other messaging solutions (I'm looking at you RabbitMQ) are not designed to handle very large numbers of queues (millions). Because WorkerRoulette is built on top of Redis, we have successfully tested it running (fast) with millions of queues.
+
+2) Other messaging systems assume one (or more) of three things:
+
+1. Your message consumers know the routing key of messages they are interested in processing
+2. Your messages can wait so that only one consumer is processed at a time
+3. You love to write complicated code to put your messages back in order.
+
+Sometimes, none of these things is true and that is where WorkerRoulette comes in.
+
WorkerRoulette lets you have thousands of competing consumers (distributed over as many machines as you'd like) processing ordered messages from millions of totally unknown message providers. It does all this and ensures that the messages sent from each message provider are processed in exactly the order it sent them.
## Use
```ruby
size_of_connection_pool = 100
@@ -72,10 +84,10 @@
### Non-Evented
- Polling: ~10,000 read-write round-trips / second
- Manual: ~5,500 read-write round-trips / second
-To run the perf tests yourself run `bundle exec spec:perf`
+To run the perf tests yourself run `bundle exec rake spec:perf`
## Redis Version
WorkerRoulette uses Redis' lua scripting feature to acheive such high throughput and therefore requires a version of Redis that supports lua scripting (>= Redis 2.6)
##Caveat Emptor