Archive of posts with category 'distributed systems'

A Brilliant Hack: Why does Layer 2/3 Checksum use 1’s Complement, Not 2’s

A super quick recap, one’s complement represents negative x by reverting every bit of x, while two’s complement negative x as one’s complement of x plus 1. Symbolically,

System Design Interview: Scaling Single Server

Imagine your app is doing tremendously well with growing traffics. If there is a single server for your app, and the server is approaching its capacity, how would you scale...

A Primer on Secure Communication Channels

In the world of internet, sending messages in clear text is like swimming naked. We would love some secure communication channels free from eavesdropping or tampering. Security as such is...

Git as Version Vector

Git is one of the most widely used version control systems. Traditionally, a repository on git is considered as a complete history of the entire project in the form of...

Sloppy Quorum And Eventual Consistency

Here is where we stand. Fisher-Lynch-Patterson has shown that consensus is not guaranteed in bounded time in a purely asynchronous network. The CAP theorem shows that from consistency, availability, and...

Reliable & Consistent Service: Linearizable RPC and Replicated State Machine

Remote Procedure Call (RPC) is a canonical structuring paradigm for client-server/request-response services.