Topic 7 of 10
Scalability and Performance
I'm studying this topic right now
How a system grows from a thousand to a million users: scaling horizontally, distributing load, taking pressure off the database and avoiding the classic anti-patterns.
What to study
- Vertical scaling vs horizontal scaling
- Elasticity (auto scaling)
- Load balancing
- Bottlenecks
Database and read strategy
- Database replication
- CQRS
- Caching strategies
- Database sharding
Reducing load and latency
- Asynchrony / message queues
- CDN — Content Delivery Network
Performance anti-patterns
- Busy Database
- Improper instantiation
- Monolithic persistence
- Noisy Neighbor
- Retry Storm
- No Caching
Articles12
- Scale From Zero To Millions Of UsersByteByteGoEN
- Horizontal and Vertical ScalingGeeksforGeeksEN
- Scalability and Elasticity in Cloud ComputingGeeksforGeeksEN
- What is a Load Balancer?GeeksforGeeksEN
- Data Replication in Distributed SystemsByteByteGoEN
- CQRS patternAWSEN
- Caching patternsAWSEN
- Top 8 Cache Eviction StrategiesByteByteGoEN
- What is Database Sharding?AWSEN
- Message QueuesGeeksforGeeksEN
- RabbitMQ TutorialsRabbitMQEN
- Performance testing and antipatternsAzure Architecture CenterEN