-
Notifications
You must be signed in to change notification settings - Fork 2
Home
igal edited this page Sep 13, 2010
·
7 revisions
Igal Koshevoy, updated 2009-06-01
Using message queues effectively can significantly improve the efficiency and responsiveness of applications. Ruby programmers are lucky to have many messaging options to choose from, but are cursed with having to pick between them. This comparison table and source code samples attempt to provide basic information to help Ruby programmers better understand these alternatives:
Name | Delayed::Job | Kestrel | Starling | Sparrow | beanstalkd | memcacheq | RabbitMQ | ActiveMQ |
---|---|---|---|---|---|---|---|---|
Pure Ruby | Y | N (Java) | Y | Y | N (C ) | N (C ) | N (Erlang) | N (Java) |
Trivial install | Y | N | Y | Y | Y | Y | Y | Y |
Trivial usage | Y | Y | Y | Y | Y | Y | N | N |
Daemon included | N | N | Y | Y | Y | Y | Y | Y |
Standalone | N (Rails only) | Y | Y | Y | Y | Y | Y | Y |
Reserve | N | Y | N | N | Y | N | Y | Y |
Persistent queues | Y | Y | Y | Y | N | Y | Y | Y |
Lightweight checks | N (DB polling) | Y | Y | Y | Y | Y | Y | Y |
Memcache interface | N (database) | Y | Y | Y | N (custom) | Y | N (AMQP) | N (Stomp) |
Benchmark1 | 216 | 893 | 2902 | 1182 | 3702 | 315 | 703 | 434 |
Praises | Easy w/ Rails | Parallel? | Simple | Simple | Very fast | Easy compile | Power | Reliable |
Annoyances | Slow, Rails only | Build :( | Pruning :( | Buggy | No persist | Slow | Client | Slowish |
Recommended | For Rails | Maybe | Maybe | No | For speed | No | For complex | For stability |
Key | Yes | No, caution | No, warning |
---|