Distributed Systems

Distributed computing is a field of computer science that studies distributed systems. A distributed system is a system whose components are located on different networked computers, which then communicate and coordinate their actions by passing messages to each other. The components interact with each other in order to achieve a common goal. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications.

A computer program that runs within a distributed system is called a distributed program (and distributed programming is the process of writing such programs). There are many different types of implementations for the message passing mechanism, including pure HTTP, RPC-like connectors and message queues.

A goal or challenge pursued by some computer scientists and practitioners in distributed systems is location transparency; however, this goal has fallen out of favor in industry. As distributed systems are a different concept from conventional non-distributed systems, the differences, such as network partitions, partial system failures, and partial upgrades, cannot simply be "papered over" by attempts at "transparency" (see CAP theorem).

Source: https://en.wikipedia.org/wiki/Distributed_computing

Position on the Adoption Curve

Presentations about Distributed Systems

Tech Lead and Architect @Square Michele Titolo

No Microservice Is an Island

Co-founder and developer advocate @Camunda Bernd Rücker

Complex Event Flows in Distributed Systems

High Performance Consultant and previously NASA researcher Todd Montgomery

Efficient Fault Tolerant Java with Aeron Clustering

Engineering Leader @Netflix, previously leading architecture teams @eBay & @Sun Karen Casella

Large Scale Architectures Panel

Creator of Envoy & Software Engineer @Lyft Matt Klein

Large Scale Architectures Panel

Principal Architect for Skype's Cloud Infrastructure Portfolio @Microsoft Bruce Lowekamp

Large Scale Architectures Panel

Software Engineer @Facebook Haozhe Gao

Large Scale Architectures Panel

Software Engineer @Facebook Joe O’Neill

Large Scale Architectures Panel

Senior Software Engineer @Bloomberg Katerina Domenikou

Large Scale Architectures Panel

Staff Infrastructure Engineer @travisci Ryn Daniels

Heretical Resilience: To Repair is Human

Software Engineer & Engineering Manager @Honeycombio Emily Nakashima

Help! I Accidentally Distributed My System!

Developer Programs Engineer @Google Rachel Myers

Help! I Accidentally Distributed My System!

Senior Director Platform Engineering @twilio Justin Kitagawa

Platforms at Twilio: Unlocking Developer Effectiveness

Interviews