Skip to content

Commit

Permalink
Splitbrain/Quorum
Browse files Browse the repository at this point in the history
  • Loading branch information
Richard Metzler committed Sep 18, 2010
1 parent 40ad9db commit 3f97fe9
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions README.md
Expand Up @@ -13,10 +13,6 @@ Richard Metzler [@rmetzler](twitter.com/rmetzler "follow Richard Metzler on Twit
Jan Schütze [@dracoblue](twitter.com/dracoblue "follow Jan Schütze on Twitter")


_TODO: EXPLAIN QUORUMS (Fault tolerant patterns II page 11)_
_TODO: Explain Amnesia_
_TODO: Explain Split Brain_

## Fault Model
On very large e-commerce websites like Amazon people order every minute _TODO: WRITE SOME FACTS_. Amazon has statistics showing a causal connection between response time of the amazon.com website and the time potential customers spend on the website. _TODO: SOURCE?_
The customer's shopping cart has to be always accessible for writes and the slightest outage has direct significant financial consequences.
Expand All @@ -33,6 +29,22 @@ _Replication_ is one of the fundamental ideas for fault tolerant systems. But re
Asynchronous updates can't be atomic, but they are potentially more resistant in case of network partitioning as these are usually transient faults.


## Amnesia



## Split Brain
In distributed systems the interconnect between nodes is a weak spot. If it is broken, nodes are split into partitions unable to communicate and thus unable to share state. This scenario is called _split brain_. Nodes in split brain scenarios must be prevented from producing inconsistant state and one method to prevent inconsistency is the quorum consensus.


## Quorum
As the system replica managers in different partitions cannot communicate with each other, the subgroup of replica managers within each partition must be able to decide independently whether they are allowed to carry out operations. A quorum is a subgroup of replica managers whose size gives it the right to carry out operations. __CITE: COULORIS__ One possible criteria for a quorum may be having a majority. Any other partition would be smaller than the majority partition and as a consequence only the majority partition would be the quorum.

_TODO: Explain Amnesia_




## Brewer's CAP Theorem

In 2000 Eric Brewer at this time chief scientist of Inktomi hold a keynote at the "Principles of Distributed Computing" conference. He presented his assumption that was later proved in "Brewer‘s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services" stating that atomic data consistency, high availability (i.e. performance) and network partition tolerance can't be achieved all together at any given time and you may get only two of these properties for every distributed operation. This is called the CAP Theorem after the acronym for __C__onsistency, __A__vailability and __P__artition tolerance.
Expand Down

0 comments on commit 3f97fe9

Please sign in to comment.