2013-01-07 48 views

Trả lời

8

Câu trả lời ngắn gọn là nó phụ thuộc. Trong ứng dụng tôi hiện đang làm việc trên đó là một số thông tin mà chúng tôi sử dụng bộ nhớ đệm để xử lý cả độ trễ của việc lấy dữ liệu từ Bảng lưu trữ và để chứa số lượng giao dịch mong muốn mỗi giây.

Chúng tôi đã bắt đầu phân phối thông tin từ Bộ nhớ bảng và được chuyển vào bộ nhớ đệm chỉ khi yêu cầu hiệu suất của chúng tôi quyết định nó. Tôi muốn giới thiệu một cách tiếp cận tương tự: làm cho nó hoạt động, sau đó làm cho nó nhanh.

+0

Được rồi, điểm tốt. Cảm ơn rất nhiều! – MaxWillmo

5

Ngoài những gì Robert nói, bạn cũng nên xem xét các điểm sau đây:

Windows Azure Table lưu trữ cho phép lưu trữ lên đến 100TB kích thước (trong khối). Thoạt nhìn, kích thước dữ liệu đó có vẻ quá áp đảo. Tuy nhiên, bảng lưu trữ có thể được phân vùng. Mỗi phân vùng của bảng lưu trữ có thể được chuyển đến một máy chủ riêng biệt bởi bộ điều khiển Azure do đó giảm tải trên bất kỳ máy chủ duy nhất và cải thiện hiệu suất.

Nếu bạn có tải rất cao trên ứng dụng của mình, bộ nhớ cache có chèn thường xuyên sẽ tiếp cận kích thước bộ nhớ cache tối đa rất nhanh và sau đó bắt đầu quá trình xóa bộ nhớ cache. Trong hầu hết các trường hợp, việc chèn thường xuyên vào bộ nhớ cache và các quá trình gỡ bỏ các bộ nhớ cache thường xuyên kết thúc với việc giảm hiệu suất hiệu suất thay vì cải thiện. Sau đó, bạn sẽ cần phải tăng kích thước tối đa bộ nhớ cache, do đó sẽ ảnh hưởng đến chi phí ứng dụng của bạn (đôi khi điều này có thể là một trình chặn).

Cuối cùng nhưng không kém phần quan trọng, bạn có thể truy nhập dữ liệu Windows Azure Table Storage bằng cách sử dụng giao thức OData và LINQ truy vấn với WCF Data Service .NET Libraries; bạn không có khả năng đó với Azure Cache.

Xin lưu ý rằng những điểm đó có thể hoặc có thể không hợp lệ trong trường hợp của bạn. Tất cả phụ thuộc vào kiến ​​trúc hệ thống của bạn; dự kiến ​​tải vv

Tôi hy vọng câu trả lời của tôi sẽ giúp bạn trong việc đưa ra quyết định kiến ​​trúc hệ thống tốt.

Các vấn đề liên quan