Chapter 2. On Distributed Systems

A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable.

Leslie Lamport

A distributed system is a computing system in which a number of components cooperate by communicating over a network. The explosive growth of the Internet and the World Wide Web in the mid1990s moved distributed systems beyond their traditional application areas, such as industrial automation, defense, and telecommunication, and into nearly all domains, including e-commerce, financial services, health care, government, and entertainment. This chapter describes the key characteristics and challenges of developing distributed systems and presents several key software technologies that have emerged to resolve these challenges.

Benefits of Distribution

Most computer software traditionally ran in stand-alone systems, in which the user interface, application 'business' processing, and persistent data resided in one computer, with peripherals attached to it by buses or cables. Few interesting systems, however, are still designed in this way. Instead, most computer software today runs in distributed systems, in which the interactive presentation, application business processing, and data resources reside on loosely coupled computing nodes and service tiers connected together by networks.

The following diagram illustrates a three-tier distribution architecture for a warehouse management process control system, whose ...

Get Pattern-Oriented Software Architecture: A Pattern Language for Distributed Computing, 4th Volume now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.