Member-only story

Trade-offs in distributed system (part 1)

Abracadabra
6 min readNov 22, 2020

Motivation of this post

This post is intended for software engineers seeking deeper understanding of distributed system design. After reading this post and part 2, you should feel comfortable about this question:

What do we talk about when we talk about distributed systems?

We solve problems of the distributed system design everyday, like scheduling dinner with a group of friends. However, the literature is often intimidating with ambiguous concepts and vocabulary. Many concepts, like the CAP theorem, have specific meanings in history but are now widely misused.

In this post, I will try to reconcile and clarify the related concepts from database community, distributed system community and practical engineering vocabulary. The concepts are explained by the contextual problem they are created for. Having concise vocabulary for abstract concepts is critical for understanding the problem we are trying to solve. More often than not, once the problems are understood, the solutions are very intuitive.

The second part of this series consists of practical trade-offs described in the precise vocabulary.

Core concepts and vocabulary

Network Partition

--

--

Abracadabra
Abracadabra

Written by Abracadabra

“Writing in essence is rewriting”

No responses yet