Summary
This chapter provided a comprehensive overview of three fundamental building blocks used in distributed system design – DNS, load balancers, and application gateways. We learned how DNS provides a directory service translating domain names to IP addresses through a globally distributed hierarchy of name servers. Load balancers distribute requests across backend servers using algorithms that optimize performance and reliability. Application gateways act as specialized proxies providing advanced routing, security, acceleration, and coordination logic tailored for modern cloud architectures, especially critical for microservices. In this chapter, we also covered some nuances of these basic building blocks, for example, the DNS caching for lower latency and traffic, some load balancer algorithms and implementations in different layers of the OSI model, and application gateway support for providing a unified front to distributed services on the backend. These are the basic...