Distributed Systems Flashcards

(47 cards)

1
Q

What is a distributed system?

A

A distributed system is a network of independent computers that work together as a single system to achieve a common goal.

Example: DO Droplets - a virtual machine that runs on one of many physical servers in a distributed infrastructure.

DOKS - Control plane and worker nodes run across multiple machines.

These services rely on principles like fault tolerance, replication, autoscaling, and consistent distributed state—all core concepts of distributed systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the main goals of a distributed system?

A

Scalability, fault tolerance, availability, and transparency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is CAP theorem?

A

CAP theorem states that a distributed system can only guarantee two of the following three: Consistency, Availability, and Partition Tolerance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is consistency in CAP theorem?

A

All nodes see the same data at the same time.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is availability in CAP theorem?

A

Every request receives a response, without guarantee that it contains the most recent data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is partition tolerance in CAP theorem?

A

The system continues to operate despite arbitrary message loss or failure of part of the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is eventual consistency?

A

A consistency model where updates to a database will propagate and eventually all nodes will converge to the same value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is strong consistency?

A

A consistency model where a system behaves as if there is only a single copy of the data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a quorum in distributed systems?

A

A minimum number of votes needed to perform an operation to ensure consistency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is sharding?

A

Sharding is the practice of breaking up a database into smaller, faster, more easily managed parts called shards.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a distributed hash table (DHT)?

A

A DHT is a decentralized system that provides a lookup service similar to a hash table.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a gossip protocol?

A

A communication protocol where nodes randomly exchange information to propagate data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is a consensus algorithm?

A

A mechanism to achieve agreement on a single data value among distributed systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Name three consensus algorithms.

A

Paxos, Raft, and Byzantine Fault Tolerance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Raft?

A

A consensus algorithm designed to be understandable and provide fault-tolerance by electing a leader.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is leader election?

A

The process of designating a single node as the organizer of tasks in a distributed system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is a distributed lock?

A

A mechanism to ensure mutual exclusion in a distributed system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is vector clock?

A

A mechanism for capturing causality between events in distributed systems.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is Lamport timestamp?

A

A method for ordering events in a distributed system using logical clocks.

20
Q

What are the challenges of distributed systems?

A

Network partitions, clock synchronization, partial failures, and consistency issues.

21
Q

What is cloud computing?

A

The delivery of computing services over the internet with on-demand access.

22
Q

What are the three main cloud service models?

A

Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).

23
Q

What is IaaS?

A

Provides virtualized computing resources over the internet.

24
Q

What is PaaS?

A

Provides a platform allowing customers to develop, run, and manage applications.

25
What is SaaS?
Delivers software applications over the internet, on demand.
26
What is virtualization?
The process of creating a virtual version of computing resources.
27
What is containerization?
A lightweight form of virtualization that packages applications with their dependencies.
28
What is Kubernetes?
An open-source system for automating deployment, scaling, and management of containerized applications.
29
What is a node in Kubernetes?
A worker machine in Kubernetes, where containers are deployed.
30
What is a pod in Kubernetes?
The smallest deployable unit in Kubernetes that can contain one or more containers.
31
What is a service in Kubernetes?
An abstraction that defines a logical set of pods and a policy to access them.
32
What is a load balancer?
A device that distributes network or application traffic across multiple servers.
33
What is autoscaling?
Automatically adjusting the number of computing resources based on demand.
34
What is infrastructure as code (IaC)?
Managing and provisioning infrastructure using code and automation tools.
35
What tools are used for IaC?
Terraform, AWS CloudFormation, Ansible.
36
What is a VPC?
Virtual Private Cloud: a private network in the cloud.
37
What is a region and availability zone?
A region is a geographic location; an availability zone is an isolated location within a region.
38
What is edge computing?
Computing that takes place at or near the source of data generation.
39
What is a CDN?
Content Delivery Network: a system of distributed servers that deliver content based on user location.
40
What is fault tolerance?
The ability of a system to continue operating properly in the event of a failure.
41
What is high availability?
A system design approach that ensures a certain degree of operational performance, usually uptime.
42
What is observability?
The ability to measure the internal state of a system by examining its outputs.
43
What is monitoring?
Collecting, analyzing, and using information to track the health of a system.
44
What are SLAs, SLOs, and SLIs?
Service Level Agreement, Service Level Objective, and Service Level Indicator - used to define and measure service performance.
45
What is multitenancy?
An architecture where a single instance serves multiple customers.
46
What is horizontal scaling?
Adding more instances to handle increased load.
47
What is vertical scaling?
Adding more power (CPU, RAM) to an existing instance.