Networked message queues like
ActiveMQ, RabbitMQ, ZeroMQ, and a
host of other Java inspired software
tumors are crutches of systems design.
— Ted Dziuba, http://widgetsandshit.com/teddziuba/2011/02/the-case-
against-queues.html
Slide 21
Slide 21 text
"The Blocking Consumer"
Slide 22
Slide 22 text
"Collecting Data for
Offline Processing"
Slide 23
Slide 23 text
"Everybody Loves System
Complexity"
Slide 24
Slide 24 text
There are only two hard problems in
distributed systems:
2. Exactly-once delivery
1. Guaranteed order of messages
2. Exactly-once delivery
— Mathias Verraes, https://twitter.com/mathiasverraes/status/632260618599403520
Slide 25
Slide 25 text
Order
As if it was on a single machine
http://book.mixu.net/distsys/time.html
Great
Does everything for Java apps
Multi-master HA
Fast
Slide 50
Slide 50 text
Bad feeling
Very few queue users
Bugs with IP / DNS changes
Painful upgrades
Slide 51
Slide 51 text
Currently our action is to create
bug for these scenarios and try to
ensure exactly-once.
— Enes Akar, https://groups.google.com/forum/#!msg/hazelcast/
u_KLHVnvT_U/Qx5Km8COk_oJ
In the event of network failure
(or a node crashing), messages
can be duplicated, and consumers
must be prepared to handle them.
— https://www.rabbitmq.com/reliability.html
Slide 56
Slide 56 text
No content
Slide 57
Slide 57 text
[...] no one try to use N Redis
independent nodes and the
offered primitives as a building
block for a distributed system [...]
— Salvatore Sanfilippo, http://antirez.com/news/78
Slide 58
Slide 58 text
Disque, an in-memory,
distributed job queue
— https://github.com/antirez/disque
Slide 59
Slide 59 text
Great
Does one thing
Multi-master HA
Configurable ACK
Similar to Redis
Slide 60
Slide 60 text
Driver: Spinach
"A scalable Java Disque client" based
on Lettuce, "A scalable Java Redis
client"
Slide 61
Slide 61 text
Mark Paluch
https://github.com/mp911de
Slide 62
Slide 62 text
!
Slide 63
Slide 63 text
Current configuration
Per message
Replication factor: 1
Retry time: 0
No persistence
Slide 64
Slide 64 text
WARNING: This is beta code and
may not be suitable for
production usage.
— https://github.com/antirez/disque
Slide 65
Slide 65 text
Disque 1.0 RC1 is out!
— Salvatore Sanfilippo 333 days ago, http://antirez.com/news/100