Performance/Latency
- Cache
- Partitioning
- Message queues
Availability
Reliability and Fault tolerance
Data should not be lost.
Checkpointing in data streams?
Scalability
- Partitioning
- Stateless architecture, microservices
- Message queues
Consistency
- Consistency type
- Sync vs async, Quorum.
Durability