Kafka enables high throughput log distributed processing while Reactive Extensions enables push systems through rich functional patterns. Let's see where the two meet through examples from a small library, and explore the foundations of stream processing.