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.