Basic Concepts You Need to Know about Building Large-Scale Distributed Systems

11 Concepts for every software engineer and architect

Larry | Peng Yang
Computer Science Fundamentals

--

❤️ Thank you for reading! Looking for a comprehensive system design course? check out Educative and Design Gurus!

Overview

This article talks about eleven terminologies that are relevant in system design, especially for large-scale distributed systems. In each section, we also dive a bit into what solutions there are to achieve them. For a more detailed explanation of each topic, please check the reading list at the bottom of this article.

1. Reliability

The system should continue to work correctly (performing the correct function at the desired level of performance) even in the face of adversity (hardware or software faults, software errors, and even human errors). In simple words, “continuing to work correctly, even when things go wrong.” The following are the major three aspects that affect reliability:

How to achieve

  1. Redundancy: Redundancy is the practice of duplicating critical components or systems in order to increase reliability. For example, you might have multiple servers running the same application, or multiple network connections to…

--

--