produce and consume data. • Optimize for low operations and infrastructure costs. • Make the best effort to not loose data, but don’t worry about guarantees. • Be programming language agnostic.
stored in a hierarchical way like: ! • Events are saved in newline-delimited text files. • Every file is gzipped. • Events are buffered in local filesystem and uploaded to S3 periodically. /year/month/day/events.gz
a topic exchange. • Consumers can subscribe to topics based on event keys. Ex. ui.webapp.# • SSL-based authentication and encryption over persistent TCP connections allow consumers to be anywhere on the Internet.
the process of creating and publishing an event. • Multiple languages supported like: Ruby, Javascript and Objective-C. For example, in a Rails app it’s as simple as: (Namespace and context data are added automagically...)