Chuyển tới nội dung chính

26 tài liệu đã gắn thẻ được gắn thẻ "Tier 2 — Distributed thinking"

What changes once a call can cross a network and fail halfway.

Xem tất cả thẻ

Availability Patterns

Availability is arithmetic before it is architecture. The arithmetic is worth doing first, because

Bố trí replica & Quorum

Quy tắc: độ bền dữ liệu không phải là số bản sao bạn đã cấu hình — mà là số bản sao phải xác nhận

CAP Theorem

CAP is the most cited and most misquoted result in distributed systems. The popular version —

Circuit Breaker & Bulkhead

Quy tắc: một dependency đang hấp hối cần được cô lập, không phải bị dội thêm request. Breaker ngăn

Consistency Models

A consistency model is a contract about what a read is allowed to return. It is not a quality

Distributed Transaction

Quy tắc: ACID dừng lại ở ranh giới database, và "localhost là một lời nói dối vĩ đại." Khi đi qua

Đồng thuận & Bầu leader

Quy tắc: đồng thuận đòi hỏi đa số, không phải một điều phối viên. Bất kỳ cơ chế nào để một node

Event Sourcing, Snapshot & CQRS

Quy tắc: lưu trạng thái trả lời câu "bây giờ nó là gì"; lưu event trả lời câu "nó đã đi đến đây

Failover đa region

Quy tắc: region thứ hai chỉ là một kế hoạch ứng phó thảm họa nếu ba điều đã được quyết định trước

Hợp đồng API & Versioning

Quy tắc: một API không phải là một endpoint, nó là một lời hứa bạn không thể rút lại. Code nội

Latency Numbers

The point of knowing these is not recall for its own sake. It is being able to reject a design in

Mạng & Độ trễ

Quy tắc: một service khỏe cộng một service khỏe không cho ra một hệ thống khỏe. Phần mạng nằm giữa

Raft

* Network messages can be delayed, reordered, or lost.

Rate Limiting

Quy tắc: không có giới hạn, sai lầm của một client sẽ thành sự cố của tất cả mọi người. Rate

Replication & sharding

Quy tắc: một replica là một thời điểm khác, và shard key là một quyết định bạn không thể hoàn

Thiết kế cho sự cố

Quy tắc: sự cố là trạng thái mặc định, không phải ngoại lệ. Một hệ thống quy mô lớn không nhắm tới

Tiến hóa schema event

Quy tắc: mọi version event từng được ghi đều là một định dạng bạn phải đọc được, với đúng ý nghĩa

Timeout & Retry

Quy tắc: retry mà không có idempotency thì không phải xử lý lỗi — đó là một bug. Và một lần retry