real-time functionality to their web applications • Scales the last mile delivery to the browser, adding higher level concepts • Is a real time distributed system
provide all three of the following guarantees: - Consistency (all nodes see the same data at the same time) - Availability (a guarantee that every request receives a response about whether it was successful or failed) - Partition tolerance (the system continues to operate despite arbitrary message loss) http://en.wikipedia.org/wiki/CAP_theorem CAP theorem
your state • Event publishers and consumers easily become coupled • Handling failure is hard • Testing the stack is hard • ZeroMQ is still too low level most of the time
a graph • Graph built from sensible primitives: • Spouts & Bolts • Stream groupings: shuffle, fields, all, global • Automatic management of workers • Handles failure