What techniques are required for stream processing?
Describe the Publish/subscribe model
It connects mulitple producers to multiple consumers. Message brokers are systems that sit between producers and consumers and deal with reliable message delivery.
What are two types of Broker based messaging?
What does the broker do?
What do the consumers do?
Describe the Competing workers messaging pattern
Multiple consumers read from a single queue competing for incoming messages.
Describe the fan out messaging pattern
Each consumer has their own queue, which is replicated
Describe the message routing messaging pattern
The producer assigns keys to message metadata and creates topic queues.
What are some drawbacks of broker based messaging
What is log based messaging?
What are some programming models for stream processing?
Describe Event sourcing/Command Query Segregation
It captures all changes to an application state as a sequence of events:
* Instead of mutating the state we store the event that causes th emutation in an immutable log
* State is generated by processing the events
What is Reacrive Programming?
It is a declarative programming paradigm concerned with data streams and propagation of change
* Reactive APIs model event sources as infinite collections on which observers subscribe to and receive events
What are the four dimensions of the DataFlow model?
What are the two notions of time in stream processing?
How are skew and lag calculated for a progessing time t?
What are the 4 types of windows?
What is a window trigger?
It defines when in processing time the results of a window are processed