System Scalability

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/59

flashcard set

Earn XP

Description and Tags

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

60 Terms

1
New cards

What is scalability in system design?

The ability of a system to handle increased load without performance degradation.

2
New cards

What are the two main types of scalability?

Vertical scalability and horizontal scalability.

3
New cards

What is vertical scalability?

Increasing the capacity of a single machine (e.g., more CPU, RAM).

4
New cards

What is horizontal scalability?

Adding more machines or nodes to distribute the load.

5
New cards

Which type of scalability is generally more fault-tolerant?

Horizontal scalability.

6
New cards

What is a load balancer?

A device or software that distributes incoming traffic across multiple servers.

7
New cards

What is stateless architecture?

An architecture where no client session information is stored on the server.

8
New cards

Why is stateless architecture important for scalability?

It enables easy load distribution and server replacement.

9
New cards

What is stateful architecture?

An architecture where the server maintains client session data between requests.

10
New cards

What is partitioning (sharding) in scalability?

Dividing data into parts and distributing it across different databases or services.

11
New cards

What is the CAP theorem?

It states that in a distributed system, you can only guarantee two of the following: Consistency, Availability, Partition tolerance.

12
New cards

What is caching?

Storing frequently accessed data in a fast-access layer to reduce load and latency.

13
New cards

What tools are used for caching in scalable systems?

Redis, Memcached, CDN (e.g., CloudFront), in-memory caches.

14
New cards

What is a CDN (Content Delivery Network)?

A network of edge servers that cache and deliver static content closer to the user.

15
New cards

How does a CDN improve scalability?

By reducing load on the origin server and serving content faster to users.

16
New cards

What is autoscaling?

The ability to automatically increase or decrease server capacity based on demand.

17
New cards

What is the role of message queues in scalable systems?

To decouple services and handle spikes in traffic asynchronously.

18
New cards

Give examples of message queues.

Kafka, RabbitMQ, AWS SQS, Google Pub/Sub.

19
New cards

What is asynchronous processing?

Tasks are processed in the background without blocking the main flow.

20
New cards

Why is asynchronous processing useful for scalability?

It reduces response time and allows handling of large workloads efficiently.

21
New cards

What is rate limiting?

A technique to control the rate of incoming requests to protect the system.

22
New cards

Why is rate limiting important in scalable systems?

To prevent abuse, manage load, and ensure fair usage.

23
New cards

What is a circuit breaker in system design?

A pattern to prevent system failure by stopping calls to a failing service.

24
New cards

What is graceful degradation?

Maintaining partial functionality when some parts of the system fail.

25
New cards

What is eventual consistency?

A consistency model where all nodes will become consistent over time, used in scalable distributed systems.

26
New cards

What is replication?

Copying data across multiple machines to ensure availability and fault tolerance.

27
New cards

What is read replication?

Creating multiple replicas of a database for scaling read operations.

28
New cards

What is write scaling and why is it hard?

Scaling write operations is difficult due to consistency and data synchronization challenges.

29
New cards

What is a bottleneck in system design?

A component that limits the overall performance and scalability of the system.

30
New cards

How do you identify bottlenecks?

Using profiling, monitoring, and load testing tools.

31
New cards

What is database sharding?

Dividing a database into smaller pieces (shards) and distributing them across servers.

32
New cards

What is horizontal partitioning?

Another term for sharding — distributing rows of a table across multiple databases.

33
New cards

What is vertical partitioning?

Splitting a database by columns or features across different systems.

34
New cards

What is eventual consistency suitable for?

Systems like social media feeds, shopping carts, and analytics.

35
New cards

What is the difference between scaling up and scaling out?

Scaling up adds resources to one node; scaling out adds more nodes.

36
New cards

What are microservices?

An architectural style where applications are composed of small, independent services.

37
New cards

How do microservices help with scalability?

They allow independent scaling and deployment of different services.

38
New cards

What is service discovery?

A mechanism for services to find each other dynamically in a distributed system.

39
New cards

What are some tools for service discovery?

Consul, Eureka, Kubernetes DNS.

40
New cards

What is horizontal pod autoscaling in Kubernetes?

Automatically adjusts the number of pods in a deployment based on metrics like CPU.

41
New cards

What is a reverse proxy?

A server that forwards client requests to backend servers, often used with load balancers.

42
New cards

What is throughput in system design?

The number of requests a system can handle in a given time.

43
New cards

What is latency in system design?

The time taken to process a single request.

44
New cards

Why does scaling read operations tend to be easier?

Reads can be distributed to replicas without affecting consistency much.

45
New cards

What is data denormalization?

The process of duplicating data to reduce the number of joins and speed up reads.

46
New cards

What is precomputation?

Computing and storing results ahead of time to reduce processing during peak load.

47
New cards

What is database connection pooling?

Reusing database connections to reduce overhead of creating new ones.

48
New cards

What is backpressure in message systems?

A mechanism to prevent overload by slowing down producers when consumers are overwhelmed.

49
New cards

What is fan-out in messaging?

Sending a single message to multiple consumers or services.

50
New cards

What is the role of logging in scalable systems?

Helps monitor, debug, and track system performance under load.

51
New cards

What are metrics in system scalability?

Quantitative measurements like CPU usage, memory, request rate, error rate.

52
New cards

What tools help monitor scalability?

Prometheus, Grafana, Datadog, New Relic, AWS CloudWatch.

53
New cards

What is a scalable architecture?

An architecture that can grow efficiently with demand while maintaining performance.

54
New cards

What is infrastructure as code (IaC)?

Managing infrastructure through code using tools like Terraform, CloudFormation.

55
New cards

Why is IaC important for scalability?

Enables repeatable, automated, and scalable infrastructure deployment.

56
New cards

What is chaos engineering?

The practice of testing a system's resilience by intentionally introducing failures.

57
New cards

How does a database index impact scalability?

Speeds up queries but can slow down writes and consume memory.

58
New cards

What is an API gateway?

A single entry point for clients to access multiple services, helping manage and scale APIs.

59
New cards

What is horizontal scaling challenge in session management?

Session data must be shared or externalized for access across nodes.

60
New cards

What is a session store?

A centralized system like Redis or Memcached to store user sessions in a scalable system.