Recently Updated Pages
6.1 Queue
Bounded vs Unbounded queues
5.2 Metadata cache
How to make sure data in cache and data in database are consistent as up-to-date as possible. ...
5.1 Deduplication cache
How to avoid duplicates?
4.6 Message acknowledgment
4.5 Data encoding formats
4.4 Blocking vs Non-Blocking I/O
4.3 Network protocols (TCP, UDP, HTTP)
4.2 Asynchronous messaging patterns
Two primary asynchronous messaging models: Message queuing and Publish/subscribe. Competing Co...
4.1 Synchronous vs asynchronous communication
3.2 Physical servers, virtual machines, containers, serverless
3.1 Regions, availability zones, data centers, racks, servers
2.10 System Requirements Summary
2.9 Maintainability, Security, Cost
Maintainability failure modes and mitigations if some component fails, what happens to the re...
2.8 Consistency
Strong Consistency (changes are reflected to all users immeidately) vs Weak Consistency (change...
2.7 Durability
High durability means low probability of data loss. Once data is successfully submitted to the s...
2.6.a Count Video Views at Large Scale
Requirements Clarification Users Who will use the system? How the system will be used? ...
2.6 Performance
Performance is time required to process something (latency) rate at which something is proces...
2.3 High Availability
System uptime 99% availability => offline 3.65 days a year Request Success Ratio 99% ava...
2.5 Scalability
Scale can be performed horizontally or vertically, it is important to compare the trade offs betw...