Tôi đã đọc hôm nay về sharded counters in Google App Engine. Bài báo nói rằng bạn nên mong đợi tối đa ở mức khoảng 5/cập nhật mỗi giây cho mỗi thực thể trong kho dữ liệu. Nhưng có vẻ như với tôi rằng giải pháp này không 'quy mô' trừ khi bạn có một số cách để biết có bao nhiêu cập nhật bạn đang làm mỗi giây. Ví dụ, bạn có thể phân bổ 10 mảnh, nhưng sau đó sẽ bắt đầu nghẹt thở ở 50 bản cập nhật mỗi giây.Có bao nhiêu mảnh trong Máy ứng dụng của Google bị ngăn chặn?
Vậy làm cách nào để bạn biết tốc độ cập nhật sắp tới và cách bạn cung cấp số đó trở lại số lượng phân đoạn?
Tôi đoán là cùng với bộ đếm, bạn có thể lưu giữ một số hồ sơ về hoạt động gần đây và nếu bạn phát hiện thấy tăng đột biến, bạn có thể tăng số lượng phân đoạn. Đó có phải là cách nó được thực hiện? Và nếu có, tại sao nó không được thực hiện trong mã mẫu? (Câu hỏi cuối cùng có thể không trả lời được.) Có thực tiễn phổ biến hơn để theo dõi hoạt động của trang web và cập nhật số lượng phân đoạn khi lưu lượng truy cập tăng lên, trái ngược với việc thực hiện tự động trong mã không?
Cập nhật: Hậu quả thực tế của việc có quá ít mảnh vỡ và nghẹt thở là gì? Điều đó có nghĩa là trang web không phản hồi hoặc có thể mất cập nhật phản đối vì hết thời gian chờ không?
Là một sang một bên, this question nói về việc thực hiện các quầy mà không có sharding, nhưng một trong những câu trả lời ngụ ý rằng thậm chí memcache cần phải được phân bổ nếu lưu lượng truy cập cao. Vì vậy, vấn đề phân bổ và điều chỉnh phân đoạn này có vẻ quan trọng.
Nó sẽ là thú vị để xem có bao nhiêu thông tin cập nhật mỗi giây tiếp cận memcache có thể xử lý mà không cần sharding. (Hiện tại tôi dường như không tìm thấy bất kỳ con số nào về tốc độ bạn có thể cập nhật một khóa memcache như thế này.) –
Tôi chỉ học về điều này, nhưng không phải là memcache không đáng tin cậy theo nghĩa nó có thể đi poof Bất cứ lúc nào. – brainjam
Đúng, các giá trị memcache thực sự có thể bị trục xuất bất cứ lúc nào. Thông thường điều này xảy ra do áp lực bộ nhớ (mặc dù nó có thể xảy ra vì các lý do khác - như máy chủ memcache đi xuống). Đó là một lý do tại sao các giải pháp dựa trên memcache có thể thiếu một chút. –