Comparison
Event streamvsStream processing
Event stream
consumers read from a retained, ordered log at their own position, so a new consumer can start from the beginning of history.
A durable, ordered, replayable log partitioned for parallelism, as opposed to a queue that deletes on acknowledgement. Retention means you can add a consumer, reprocess after a bug, or rebuild a projection. Ordering is only guaranteed within a partition, so the partition key decides what "in order" means for your data.
Full entry →Stream processing
records are handled one at a time as they land, and the job has been running without finishing for four months.
Processing records continuously as they arrive, over an input that never ends. The job is a long-lived process holding state rather than something that starts and stops, which is what makes every hard streaming question — restarts, ordering, exactly-once, late data — a question about that state. Choose it when the value of an answer actually decays in minutes; choose batch when someone just said 'real time' in a meeting and meant 'not tomorrow'.
Full entry →