分布式系统阅读清单
轉載于http://blog.jobbole.com/84575/
=============================================================
Thought Provokers
一些讓你考慮你設計方式的隨筆。不是所有事都可以靠大服務器,數據庫和事物來解決的。
- Harvest, Yield and Scalable Tolerant Systems?CAP原理在現實世界里的應用來自Brewer等人
- On Designing and Deploying Internet Scale Services?James Hamilton
- Latency Exists, Cope!?處理延遲及其架構方面影響的說明
- Latency – the new web performance bottleneck?內容不太新了,但是值得關注下
- The Perils of Good Abstractions?構建完美的API/接口很困難
- Chaotic Perspectives?大規(guī)模系統(tǒng)有開發(fā)人員不喜歡的所有東西——不可預測,無序,并行
- Website Architecture?一些來自各類大型網站的可擴展架構文章
- Data on the Outside versus Data on the Inside?Pat helland
- Memories, Guesses and Apologies?Pat Helland
- SOA and Newton’s Universe?– Pat Helland
- Building on Quicksand?– Pat Helland
- Why Distributed Computing?– Jim Waldo
- A Note on Distributed Computing?– Waldo, Wollrath 等人
- Stevey’s Google Platforms Rant?– Yegge的SOA平臺經驗
Amazon
有些有關的技術,但更有趣的是他們創(chuàng)造的與之配合的文化和結構。
- A Conversation with Werner Vogels?關于亞馬遜轉型為一個基于服務的架構的采訪報道
- Discipline and Focus?關于亞馬遜轉型為一個基于服務的架構的另一篇采訪
- Vogels on Scalability
- SOA creates order out of chaos @ Amazon
當前分布式系統(tǒng)領域的“火箭科學”(形容艱深的學問)
- MapReduce
- Chubby Lock Manager
- Google File System
- BigTable
- Data Management for Internet-Scale Single-Sign-On
- Dremel: Interactive Analysis of Web-Scale Datasets
- Large-scale Incremental Processing Using Distributed Transactions and Notifications
- Megastore: Providing Scalable, Highly Available Storage for Interactive Services?– 實現跨數據中心、低延遲的paxos算法的巧妙設計。
- Spanner?– Google的可擴展、多版本、全球分布且同步復制的數據庫。
- Photon?– 連續(xù)數據流的容錯和擴容。擴容是非常困難的,尤其是在時鐘偏移、高可用性和分布式的情況下.
- Mesa: Geo-Replicated, Near Real-Time, Scalable Data Warehousing?用于存儲谷歌互聯(lián)網廣告業(yè)務相關的關鍵測量數據的數據倉庫系統(tǒng)。
eBay
有趣的是他們拋棄了大多數的J2EE,并使用了大量的數據庫分區(qū)。同時,看看他們的網站升級工具。
- SD Forum 2006
一致性模型
構建能夠適應環(huán)境的系統(tǒng)的關鍵是尋求正確權衡一致性和可用性。
- CAP Conjecture?– 一致性,可用性,分區(qū)容忍性不可能同時滿足
- Consistency, Availability, and Convergence?– 證明了在一個典型系統(tǒng)中一致性可能的上界。
- CAP Twelve Years Later: How the “Rules” Have Changed?– Eric Brewer 在原來權衡描述工作上的擴展
- Consistency and Availability?– Vogels
- Eventual Consistency?– Vogels
- Avoiding Two-Phase Commit?– 兩階段提交的避免方法
- 2PC or not 2PC, Wherefore Art Thou XA?– 兩階段提交不是銀彈
- Life Beyond Distributed Transactions?– Helland
- If you have too much data, then ‘good enough’ is good enough?– NoSQL, 數據理論的未來- Pat Helland
- Starbucks doesn’t do two phase commit?– 在起作用的異步機制
- You Can’t Sacrifice Partition Tolerance?– 另外的 CAP 說明
- Optimistic Replication?– 數據主從復制的弱一致性方法
理論
一些描述了分布式系統(tǒng)設計中各種各樣的重要因素的論文。
- Distributed Computing Economics?– Jim Gray
- Rules of Thumb in Data Engineering?– Jim Gray and Prashant Shenoy
- Fallacies of Distributed Computing?– Peter Deutsch
- Impossibility of distributed consensus with one faulty process?也稱為FLP [訪問需要帳號或付費,免費版本在這里:?here]
- Unreliable Failure Detectors for Reliable Distributed Systems.一種處理FLP難題的方法
- Lamport Clocks?-當每臺電腦的時鐘都是獨立的時候,你如何建立對時間的全局視圖。
- The Byzantine Generals Problem
- Lazy Replication: Exploiting the Semantics of Distributed Services
- Scalable Agreement – Towards Ordering as a Service
- Scalable Eventually Consistent Counters over Unreliable Networks?在不可靠的世界,可擴展計數很困難。
語言和工具
使用特定技術構建分布式系統(tǒng)的問題。
- Programming Distributed Erlang Applications: Pitfalls and Recipes?構建可靠的分布式應用并不僅僅是的選擇Erlang還是OTP的問題那么簡單。
基礎設施
- Principles of Robust Timing over the Internet?即便是調試這么基礎的事,管理時鐘也很重要。
存儲
- Consistent Hashing and Random Trees
- Amazon’s Dynamo Storage Service
Paxos 一致性算法
理解這種算法是一個挑戰(zhàn)。我建議在閱讀其他論文之前先讀讀“Paxos Made Simple”,然后在讀完其他論文之后,再讀一遍。
- The Part-Time Parliament?– Leslie Lamport
- Paxos Made Simple?– Leslie Lamport
- Paxos Made Live – An Engineering Perspective?– Chandra等人
- Revisiting the Paxos Algorithm?– Lynch 等人
- How to build a highly available system with consensus?– Butler Lampson
- Reconfiguring a State Machine?– Lamport 等人 -改變集群的成員
- Implementing Fault-Tolerant Services Using the State Machine Approach: a Tutorial?– Fred Schneider
其他一致性文章
- Mencius: Building Efficient Replicated State Machines for WANs?– 針對廣域網的一致性算法
Gossip 協(xié)議(傳染行為)
- Epidemic Routing Bibliography
- How robust are gossip-based communication protocols?
- Astrolabe: A Robust and Scalable Technology For Distributed Systems Monitoring, Management, and Data Mining
- Epidemic Computing at Cornell
- Fighting Fire With Fire: Using Randomized Gossip To Combat Stochastic Scalability Limits
- Bi-Modal Multicast
- ACM SIGOPS Operating Systems Review – Gossip-based computer networking
- SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol
P2P
- Chord:一種針對互聯(lián)網應用的可擴展的點對點查找協(xié)議。
- Kademlia: 一種基于XOR的點對點信息系統(tǒng)
- Pastry: 可擴展的,去中心化的對象位置和對大規(guī)模點對點系統(tǒng)的路由。
- PAST: 一種大規(guī)模,持久化的點對點存儲功能——Pastry上的存儲系統(tǒng)
- SCRIBE: 一個大規(guī)模且去中心化的應用層多播基礎設施——Pastry上的廣域消息系統(tǒng)。
轉載于:https://www.cnblogs.com/andy1987/p/4346988.html
總結
- 上一篇: iOS sql的简单封装
- 下一篇: 【原创】sql:慎用【数字字段1 - 数