Tính năng Perma-Cache của BunnyCDN có tác dụng gì?

Perma-Cache là một lớp cache vĩnh viễn thứ cấp (hãy chú ý đến từ vĩnh viễn), nó nằm giữa CDN và máy chủ gốc của bạn. Khi một yêu cầu không được lưu trong bộ nhớ cache trên CDN và được chuyển đến máy chủ gốc, trước tiên CDN sẽ kiểm tra với bộ lưu trữ Geo-Replicated để xem liệu tệp có sẵn ở đó hay không.

Xem thêm: giới thiệu tính năng Perma-Cache.

Do định tuyến được tối ưu hóa và dấu ấn toàn cầu (global footprint) của Geo-Replicated (bộ nhớ được sao chép theo địa lý) của chúng tôi, điều này có thể có tác dụng tăng hiệu suất rất có lợi cho nội dung chưa được lưu trữ và giảm đáng kể lưu lượng tới máy chủ gốc của bạn. 

Thay vì cứ phải chuyển từ CDN đến máy chủ gốc của bạn, thì khả năng cao là tệp đã có sẵn ngay bên cạnh các nút CDN trên bộ nhớ sao chép toàn cầu (globally replicated storage) của chúng tôi. Điều này làm giảm thời gian chờ và tăng đáng kể thông lượng (throughput) cho các tệp chưa cache (trên CDN) nhưng đã nằm trên Perma-Cache.

Hãy xem nó hoạt động như thế nào nhé.


Bộ nhớ đệm

Perma-Cache có thể kết nối với bất kỳ vùng lưu trữ (storage zone) nào trên BunnyCDN và sử dụng cấu trúc thư mục đặc biệt được mô tả trong bài viết về Cấu trúc thư mục Perma-Cache (có thể Speed Family sẽ dịch sau).

Nếu tệp không được tìm thấy trên bộ nhớ cache CDN, yêu cầu sau đó sẽ được chuyển bình thường trở lại máy chủ gốc và được trả về CDN. Đồng thời, một yêu cầu được chuyển đến hệ thống Perma-Cache, hệ thống này sau đó bắt đầu quá trình lưu bộ đệm ở chế độ nền (background caching) một cách không đồng bộ. Hệ thống kết nối lại với máy chủ gốc của bạn và tải tệp từ gốc của bạn xuống bộ nhớ được sao chép theo địa lý của chúng tôi. Tùy thuộc vào hệ thống sao chép của bạn, tệp sau đó sẽ được sao chép sang mạng lưu trữ toàn cầu của chúng tôi.

Lần tiếp theo một nút CDN sẽ yêu cầu tệp này như một phần của MISS trong bộ nhớ cache, nó sẽ có sẵn trên nút lưu trữ và các yêu cầu sẽ không bao giờ lấy dữ liệu từ máy chủ gốc của bạn nữa. Tệp sẽ được lưu trữ vĩnh viễn trong hệ thống của chúng tôi một cách hiệu quả.

MISS bộ nhớ cache trên CDN không đảm bảo 100% rằng một tệp sẽ xuất hiện trong Perma-Cache, vì vậy chúng tôi khuyên bạn không nên sử dụng nó để thay thế cho bộ nhớ vĩnh viễn của bạn (ý là bạn đừng xóa ảnh, hoặc các tài nguyên tĩnh khác trên host gốc của bạn).


Xóa bộ nhớ cache

Perma-Cache cũng được tích hợp vào API xóa tệp (file purging) của chúng tôi. Khi một URL duy nhất được xóa thông qua API, trước tiên hệ thống của chúng tôi sẽ gửi yêu cầu đến storage để xóa tệp đã lưu trong bộ nhớ cache. Sau đó, yêu cầu xóa cũng sẽ được xử lý trên CDN và một tệp mới sẽ được tìm nạp lại từ máy chủ gốc.

Khi xóa hoàn toàn bộ nhớ cache cho bộ đệm Pull Zone, Perma-Cache sẽ không bị xóa. Thay vào đó, hệ thống chuyển sang cấu trúc thư mục mới trong vùng lưu trữ. Trong trường hợp xóa toàn bộ, bạn sẽ cần xóa thủ công các thư mục của bộ nhớ đệm cũ.


Header / Tiêu đề

Perma-Cache cũng sẽ thêm một bộ tiêu đề bộ nhớ đệm duy nhất được gọi là Perma-Cache, có thể là HIT hoặc MISS. Nếu tệp được tải thành công từ hệ thống Perma-Cache, tiêu đề sẽ được trả về dưới dạng HIT. Nếu Perma-Cache chuyển yêu cầu đến hosting gốc trước, điều này sẽ xuất hiện dưới dạng MISS.


CDN Cache

Trong trường hợp tệp đã được lưu trong bộ nhớ cache trên CDN, yêu cầu sẽ không được chuyển đến hệ thống Perma-Cache cho đến khi xảy ra MISS cache. Điều này có nghĩa là nếu Perma-Cache được bật trên một vùng (zone) hiện có, có thể mất một khoảng thời gian để Perma-Cache lấp đầy dữ liệu. Bạn không cần lo lắng, vì điều đó có nghĩa là CDN đã làm rất tốt việc lưu giữ các tệp được lưu trong bộ nhớ cache của riêng nó.