Log in Sign up
Trang chủeBookPatterns of Distributed Systems, 1st edition
Patterns of Distributed Systems, 1st edition

Patterns of Distributed Systems, 1st edition

BRAND: PEARSON
Publisher:
PEARSON
Author:
Unmesh Joshi
Edition:
(November 14, 2023) © 2024
eBook ISBN:
9780138222116
Print ISBN:
9780138221980
Type:
1 Year Subscription. Dành cho Cá nhân
eBook edition. 1 Year Subscription. Dành cho Cá nhân | Trường ĐH, Nhóm, Thư Viện: Gọi 0915920514 để báo giá Pearson, Vital Source eBook hoặc mua Sách In

Tổng quan sách

Tìm hiểu cách hiểu rõ hơn về thiết kế hệ thống phân tán và giải quyết các vấn đề thường gặpCác doanh nghiệp ngày nay dựa vào một loạt phần mềm phân tán xử lý việc lưu trữ dữ liệu, nhắn tin, quản lý hệ thống và khả năng tính toán. Các thiết kế hệ thống phân tán cần được triển khai bằng một số ngôn ngữ lập trình và có những vấn đề chung mà việc triển khai này cần giải quyết. Những vấn đề này có giải pháp định kỳ phổ biến. Cách tiếp cận theo mẫu rất phù hợp để mô tả các khía cạnh triển khai này.Về bản chất, các mẫu đủ chung để bao gồm nhiều loại sản phẩm từ dịch vụ đám mây như Amazon S3 đến các nhà môi giới tin nhắn như Apache Kafka đến các khung cơ sở hạ tầng như Kubernetes đến các cơ sở dữ liệu như MongoDB hoặc các khung Actor như Akka. Đồng thời cấu trúc mẫu đủ cụ thể để có thể hiển thị mã thực. Cái hay của cách tiếp cận này là ngay cả khi cấu trúc mã được hiển thị bằng một ngôn ngữ lập trình (trong trường hợp này là Java), cấu trúc đó vẫn áp dụng cho nhiều ngôn ngữ lập trình khác. Các mẫu cũng tạo thành một "hệ thống tên", với mỗi tên có ý nghĩa cụ thể về mặt cấu trúc mã.Tập hợp các mẫu được trình bày trong Mẫu hệ thống phân tán sẽ hữu ích cho tất cả các nhà phát triển--ngay cả khi họ không trực tiếp tham gia xây dựng các loại hệ thống này và chủ yếu sử dụng chúng như một hộp đen. Việc tìm hiểu các mô hình này sẽ giúp người đọc hiểu sâu hơn về những thách thức do hệ thống phân tán đặt ra và cũng sẽ giúp họ lựa chọn các sản phẩm và dịch vụ đám mây phù hợp. Phạm vi bao gồm các mẫu sao chép dữ liệu, các mẫu phân vùng dữ liệu, các mẫu thời gian phân phối, các mẫu quản lý cụm và các mẫu giao tiếp giữa các nút.Cách tiếp cận mẫu được sử dụng ở đây sẽ giúp bạnTìm hiểu hệ thống phân tán là gì và tại sao cần có hệ thống phân tánHiểu cách triển khai một loạt các hệ thống như cơ sở dữ liệu, lưới dữ liệu trong bộ nhớ, trình trung chuyển tin nhắn và các dịch vụ đám mây khác nhauChuẩn bị cho bạn khả năng tự tin duyệt qua các cơ sở mã nguồn mở và khám phá cách các mẫu và giải pháp ánh xạ tới các hệ thống trong thế giới thực như Kafka và Kubernetes
  1. Foreword xviiPreface xixAcknowledgments xxiiiAbout the Author xxvPart I: Narratives 1
  2. Chapter 1: The Promise and Perils of Distributed Systems 3The Limits of a Single Server 3Separate Business Logic and Data Layer 5Partitioning Data 6A Look at Failures 7Replication: Masking Failures 9Defining the Term "Distributed Systems" 10The Patterns Approach 10
  3. Chapter 2: Overview of the Patterns 13Keeping Data Resilient on a Single Server 14Competing Updates 15Dealing with the Leader Failing 17Multiple Failures Need a Generation Clock 21Log Entries Cannot Be Committed until They Are Accepted by a Majority Quorum 26Followers Commit Based on a High-Water Mark 29Leaders Use a Series of Queues to Remain Responsive to Many Clients 34Followers Can Handle Read Requests to Reduce Load on the Leader 40A Large Amount of Data Can Be Partitioned over Multiple Nodes 42Partitions Can Be Replicated for Resilience 45A Minimum of Two Phases Are Needed to Maintain Consistency across Partitions 46In Distributed Systems, Ordering Cannot Depend on System Timestamps 49A Consistent Core Can Manage the Membership of a Data Cluster 58Gossip Dissemination for Decentralized Cluster Management 62Part II: Patterns of Data Replication 69
  4. Chapter 3: Write-Ahead Log 71Problem 71Solution 71Examples 76
  5. Chapter 4: Segmented Log 77Problem 77Solution 77Examples 79
  6. Chapter 5: Low-Water Mark 81Problem 81Solution 81Examples 83
  7. Chapter 6: Leader and Followers 85Problem 85Solution 85Examples 92
  8. Chapter 7: HeartBeat 93Problem 93Solution 93Examples 98
  9. Chapter 8: Majority Quorum 99Problem 99Solution 100Examples 102
  10. Chapter 9: Generation Clock 103Problem 103Solution 104Examples 107
  11. Chapter 10: High-Water Mark 109Problem 109Solution 109Examples 115
  12. Chapter 11: Paxos 117Problem 117Solution 117Examples 132
  13. Chapter 12: Replicated Log 133Problem 133Solution 133Examples 158
  14. Chapter 13: Singular Update Queue 159Problem 159Solution 159Examples 166
  15. Chapter 14: Request Waiting List 167Problem 167Solution 167Examples 173
  16. Chapter 15: Idempotent Receiver 175Problem 175Solution 175Examples 181
  17. Chapter 16: Follower Reads 183Problem 183Solution 183Examples 191
  18. Chapter 17: Versioned Value 193Problem 193Solution 193Examples 201
  19. Chapter 18: Version Vector 203Problem 203Solution 203Examples 216Part III: Patterns of Data Partitioning 217
  20. Chapter 19: Fixed Partitions 219Problem 219Solution 220Examples 241
  21. Chapter 20: Key-Range Partitions 243Problem 243Solution 244Examples 255
  22. Chapter 21: Two-Phase Commit 257Problem 257Solution 257Examples 297Part IV: Patterns of Distributed Time 299
  23. Chapter 22: Lamport Clock 301Problem 301Solution 301Examples 307
  24. Chapter 23: Hybrid Clock 309Problem 309Solution 309Examples 316
  25. Chapter 24: Clock-Bound Wait 317Problem 317Solution 318Examples 332Part V: Patterns of Cluster Management 335
  26. Chapter 25: Consistent Core 337Problem 337Solution 337Examples 342
  27. Chapter 26: Lease 345Problem 345Solution 345Examples 354
  28. Chapter 27: State Watch 355Problem 355Solution 355Examples 362
  29. Chapter 28: Gossip Dissemination 363Problem 363Solution 363Examples 373
  30. Chapter 29: Emergent Leader 375Problem 375Solution 375Examples 392Part VI: Patterns of Communication between Nodes 393
  31. Chapter 30: Single-Socket Channel 395Problem 395Solution 395Examples 397
  32. Chapter 31: Request Batch 399Problem 399Solution 399Examples 404
  33. Chapter 32: Request Pipeline 405Problem 405Solution 405Examples 408References 409Index 413
Chat Zalo