Danh sách đọc về hệ thống phân tán
Giới thiệu
- Điều khó nhất trong hệ thống phân tán là thay đổi cách tư duy.
- Danh sách này tập hợp các tài liệu hữu ích để thúc đẩy sự thay đổi đó.
Tài liệu gợi mở tư duy
- Tuyển tập bài viết mang đến góc nhìn mới về thiết kế hệ thống quy mô lớn.
- Harvest, Yield and Scalable Tolerant Systems: Ứng dụng thực tế của lý thuyết CAP.
- On Designing and Deploying Internet Scale Services: Thiết kế và triển khai dịch vụ ở quy mô Internet.
- The Perils of Good Abstractions: Khó khăn trong việc xây dựng API/giao diện hoàn hảo.
- Chaotic Perspectives: Tính khó dự đoán và tính song song trong các hệ thống quy mô lớn.
- Data on the Outside versus Data on the Inside: Hai cách tiếp cận trong quản lý dữ liệu.
- Memories, Guesses and Apologies: Sự không chắc chắn trong xử lý dữ liệu.
- SOA and Newton's Universe: Cách tiếp cận mang tính triết học đối với kiến trúc hướng dịch vụ.
- Building on Quicksand: Xây dựng hệ thống trên nền tảng không ổn định.
- Why Distributed Computing?: Vì sao cần điện toán phân tán.
- A Note on Distributed Computing: Các khái niệm cơ bản của điện toán phân tán.
- Stevey's Google Platforms Rant: Kinh nghiệm về nền tảng SOA của Google.
Độ trễ
- Sự tồn tại của độ trễ và cách ứng phó với nó.
- Latency Exists, Cope!: Tác động kiến trúc của độ trễ.
- Latency - the new web performance bottleneck: Nút thắt cổ chai mới của hiệu năng web.
- The Tail At Scale: Vấn đề độ trễ trong các hệ thống quy mô lớn.
Amazon
- Nội dung thú vị về văn hóa và tổ chức của Amazon hơn là về công nghệ.
- A Conversation with Werner Vogels: Chuyển đổi sang kiến trúc dựa trên dịch vụ.
- Discipline and Focus: Thông tin bổ sung về quá trình chuyển đổi kiến trúc của Amazon.
- Vogels on Scalability: Góc nhìn của Vogels về khả năng mở rộng.
Google
- Công nghệ mới nhất của hệ thống phân tán.
- MapReduce: Mô hình xử lý dữ liệu quy mô lớn.
- Chubby Lock Manager: Quản lý khóa phân tán.
- Google File System: Hệ thống tệp quy mô lớn.
- BigTable: Hệ thống lưu trữ phân tán.
- Data Management for Internet-Scale Single-Sign-On: Quản lý dữ liệu cho single sign-on ở quy mô Internet.
- Dremel: Phân tích tương tác trên các bộ dữ liệu ở quy mô web.
- Large-scale Incremental Processing Using Distributed Transactions and Notifications: Xử lý tăng dần quy mô lớn bằng giao dịch phân tán.
- Megastore: Lưu trữ có khả năng mở rộng và tính sẵn sàng cao cho các dịch vụ tương tác.
- Spanner: Cơ sở dữ liệu phân tán toàn cầu.
- Photon: Kết hợp các luồng dữ liệu liên tục.
- Mesa: Hệ thống kho dữ liệu thời gian thực.
Mô hình nhất quán
- Tìm sự cân bằng giữa tính nhất quán và tính sẵn sàng trong thiết kế hệ thống.
- CAP Conjecture: Sự đánh đổi giữa tính nhất quán, tính sẵn sàng và khả năng chịu phân vùng.
- Consistency, Availability, and Convergence: Giới hạn trên của tính nhất quán.
- CAP Twelve Years Later: Sự thay đổi của lý thuyết CAP.
- Consistency and Availability: Mối quan hệ giữa tính nhất quán và tính sẵn sàng.
- Eventual Consistency: Tính nhất quán cuối cùng.
- Avoiding Two-Phase Commit: Cách tránh two-phase commit.
- 2PC or not 2PC, Wherefore Art Thou XA?: Giới hạn của two-phase commit.
- Life Beyond Distributed Transactions: Quản lý dữ liệu vượt ra ngoài giao dịch phân tán.
- If you have too much data, then 'good enough' is good enough: Tương lai của NoSQL và lý thuyết dữ liệu.
- Starbucks doesn't do two phase commit: Cơ chế bất đồng bộ.
- You Can't Sacrifice Partition Tolerance: Tầm quan trọng của khả năng chịu phân vùng.
- Optimistic Replication: Cách tiếp cận nhất quán lỏng.
Lý thuyết
- Các bài báo giải thích những yếu tố quan trọng trong thiết kế hệ thống phân tán.
- Distributed Computing Economics: Tính kinh tế của điện toán phân tán.
- Rules of Thumb in Data Engineering: Các quy tắc kinh nghiệm trong kỹ thuật dữ liệu.
- Fallacies of Distributed Computing: Những ngộ nhận trong điện toán phân tán.
- Impossibility of distributed consensus with one faulty process: Lý thuyết FLP.
- Unreliable Failure Detectors for Reliable Distributed Systems: Bộ phát hiện lỗi cho các hệ thống phân tán đáng tin cậy.
- Lamport Clocks: Đồng hồ Lamport trong hệ thống phân tán.
- The Byzantine Generals Problem: Bài toán các vị tướng Byzantine.
- Lazy Replication: Tận dụng ngữ nghĩa của dịch vụ phân tán.
- Scalable Agreement: Sắp thứ tự như một dịch vụ.
- Scalable Eventually Consistent Counters over Unreliable Networks: Bộ đếm mở rộng với tính nhất quán cuối cùng trên các mạng không đáng tin cậy.
Ngôn ngữ và công cụ
- Các vấn đề khi xây dựng hệ thống phân tán bằng công nghệ cụ thể.
- Programming Distributed Erlang Applications: Xây dựng ứng dụng phân tán bằng Erlang và OTP.
Hạ tầng
- Các nguyên tắc quản lý thời gian mạnh mẽ trên Internet.
Lưu trữ
- Consistent Hashing and Random Trees: Hashing nhất quán và cây ngẫu nhiên.
- Amazon's Dynamo Storage Service: Dịch vụ lưu trữ của Amazon.
- Paxos Consensus: Hiểu về thuật toán Paxos.
- The Part-Time Parliament: Nền tảng của Paxos.
- Paxos Made Simple: Giải thích đơn giản về Paxos.
- Paxos Made Live: Góc nhìn kỹ thuật về Paxos.
- Revisiting the Paxos Algorithm: Xem xét lại thuật toán Paxos.
- How to build a highly available system with consensus: Xây dựng hệ thống có tính sẵn sàng cao bằng cơ chế đồng thuận.
- Reconfiguring a State Machine: Tái cấu hình state machine.
- Implementing Fault-Tolerant Services Using the State Machine Approach: Triển khai dịch vụ chịu lỗi bằng cách tiếp cận state machine.
Các bài báo khác về đồng thuận
- Mencius: Xây dựng state machine replication hiệu quả cho WAN.
- In Search of an Understandable Consensus Algorithm: Phiên bản mở rộng của thuật toán RAFT.
Giao thức gossip (Epidemic Behaviours)
- Sức mạnh của các giao thức truyền thông dựa trên gossip.
- Astrolabe: Kỹ thuật giám sát hệ thống phân tán và khai phá dữ liệu.
- Epidemic Computing at Cornell: Điện toán dịch tễ tại Đại học Cornell.
- Fighting Fire With Fire: Vượt qua giới hạn mở rộng bằng gossip ngẫu nhiên.
- Bi-Modal Multicast: Multicast hai chế độ.
- ACM SIGOPS Operating Systems Review: Mạng dựa trên gossip.
- SWIM: Giao thức membership nhóm tiến trình kiểu lây nhiễm với tính nhất quán yếu và khả năng mở rộng.
P2P
- Chord: Giao thức tra cứu peer-to-peer có khả năng mở rộng cho các ứng dụng Internet.
- Kademlia: Hệ thống thông tin peer-to-peer dựa trên metric XOR.
- Pastry: Định vị và định tuyến đối tượng phân tán cho các hệ thống peer-to-peer quy mô lớn.
- PAST: Tiện ích lưu trữ peer-to-peer bền vững quy mô lớn được xây dựng trên Pastry.
- SCRIBE: Hạ tầng multicast cấp ứng dụng phân tán quy mô lớn được xây dựng trên Pastry.
Tóm tắt của GN⁺
- Hệ thống phân tán là lĩnh vực đòi hỏi phải thay đổi cách tư duy để giải quyết các vấn đề phức tạp.
- Thông qua nhiều tài liệu và bài báo khác nhau, danh sách này mang lại sự hiểu biết sâu sắc về thiết kế và triển khai hệ thống phân tán.
- Danh sách này bao quát nhiều khía cạnh của hệ thống phân tán, đặc biệt cung cấp góc nhìn về mô hình nhất quán và vấn đề độ trễ.
- Đây có thể là tài liệu hữu ích cho các nhà phát triển hoặc nhà nghiên cứu quan tâm đến hệ thống phân tán.
- Các dự án có chức năng tương tự được khuyến nghị gồm Apache Kafka, Apache Cassandra, v.v.
Chưa có bình luận nào.