Notes on Distributed Systems


Consensus
Paxos
Roles: proposers, acceptors, learners

Practices:
Cassandra lightweight transactions, CAS

Raft
replicated state machine
strong leadership
(append-only) log replication
a term number and an index
randomized election timeout

2 Phase Commit
Vote
Commit/abort
a blocking protocol

3 Phase Commit
Vote
Prepare
Commit/abort
a non-blocking protocol

CAP
LSM

Redis
pub-sub
Only online customers can get message
No customer group, each customer gets all message

Basic
WAL - write-ahead-log
R+W>N

Scalable Stateful Services

Labels

adsense (5) Algorithm (69) Algorithm Series (35) Android (7) ANT (6) bat (8) Big Data (7) Blogger (14) Bugs (6) Cache (5) Chrome (19) Code Example (29) Code Quality (7) Coding Skills (5) Database (7) Debug (16) Design (5) Dev Tips (63) Eclipse (32) Git (5) Google (33) Guava (7) How to (9) Http Client (8) IDE (7) Interview (88) J2EE (13) J2SE (49) Java (186) JavaScript (27) JSON (7) Learning code (9) Lesson Learned (6) Linux (26) Lucene-Solr (112) Mac (10) Maven (8) Network (9) Nutch2 (18) Performance (9) PowerShell (11) Problem Solving (11) Programmer Skills (6) regex (5) Scala (6) Security (9) Soft Skills (38) Spring (22) System Design (11) Testing (7) Text Mining (14) Tips (17) Tools (24) Troubleshooting (29) UIMA (9) Web Development (19) Windows (21) xml (5)