Availability Patterns
Availability is arithmetic before it is architecture. The arithmetic is worth doing first, because
What changes once a call can cross a network and fail halfway.
Xem tất cả thẻAvailability is arithmetic before it is architecture. The arithmetic is worth doing first, because
An estimate is not a prediction. It is a filter: a way to find out, in two minutes and before
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 is the most cited and most misquoted result in distributed systems. The popular version —
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
A consistency model is a contract about what a read is allowed to return. It is not a quality
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
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
Quy tắc: một endpoint danh sách trước hết là cơ chế kiểm soát chi phí, sau đó mới là tính năng.
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
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
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
The point of knowing these is not recall for its own sake. It is being able to reject a design in
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
Quy tắc: một API quản lý vòng đời của resource; nó không phơi ra các hành động hay các bảng của
* Network messages can be delayed, reordered, or lost.
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
Quy tắc: replay là tính lại trạng thái; nó không bao giờ được thực thi lại quá khứ. Rebuild một
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
Quy tắc: "eventually consistent" không phải là một lời hứa bạn đưa được cho người dùng. Mỗi luồng
Quy tắc: khi câu trả lời chưa tồn tại, đừng giả vờ rằng request có thể trả nó về. Hãy mô hình
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
Quy tắc: gửi một webhook một lần không có nghĩa là đã giao được nó. Không có chữ ký, retry và
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
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
VSR is a state machine replication protocol designed to keep a group of replicas consistent even when some fail. It