← Back to topics

System Design

Understand what connects the web.

Explore the ideas behind the websites and applications you use every day.

01 / COORDINATING SYSTEMS

ZooKeeper

Learn how applications coordinate across servers using znodes, ensembles, leaders, followers, atomic broadcast, and watches.

Read the blog post →

02 / MESSAGING QUEUES

Messaging Queues

Learn how services communicate asynchronously using Kafka, Amazon SQS, and RabbitMQ.

Explore messaging systems →

03 / NAMING SERVICES

DNS

Learn how domain names such as tarubyte.com are translated into IP addresses computers use to find services.

Read the DNS guide →

04 / DELIVERY SYSTEMS

CDN

Content Delivery Network: learn how servers in different locations deliver website content closer to visitors.

Read the CDN guide →

05 / TRAFFIC MANAGEMENT

Load Balancer

Learn how incoming requests are distributed across healthy servers so applications can handle traffic and remain available.

Read the Load Balancer guide →

06 / NETWORKING BASICS

Proxy

Start with the basic idea: how an intermediary passes requests between computers.

Learn what a proxy is →

07 / API TRAFFIC

API Gateway

Learn how one entry point routes API requests to the services that handle them.

Learn what an API gateway is →

08 / ACCESS CONTROL

Authentication

Learn how an app checks who is making a request, starting with Basic authentication.

Learn authentication →

This is just the beginning. More topics and lessons will be added here.