Bạn đang xem tài liệu về Apigee Edge.
Truy cập vào
tài liệu Apigee X. thông tin
Chủ đề này mô tả cách hoạt động của bộ nhớ đệm theo các chính sách như chính sách Điền vào bộ nhớ đệm, chính sách LookupCache, chính sách InvalidateCache và chính sách Bộ nhớ đệm phản hồi.
Bộ nhớ đệm dùng chung và bộ nhớ đệm môi trường
Mỗi chính sách lưu vào bộ nhớ đệm mà bạn định cấu hình có thể sử dụng một trong hai loại bộ nhớ đệm: bộ nhớ đệm dùng chung đi kèm mà các ứng dụng của bạn có quyền truy cập và một hoặc nhiều bộ nhớ đệm theo phạm vi môi trường mà bạn tạo.
-
Bộ nhớ đệm dùng chung: Theo mặc định, các proxy của bạn có quyền truy cập vào một bộ nhớ đệm dùng chung trong mỗi môi trường. Bộ nhớ đệm dùng chung hoạt động hiệu quả đối với các trường hợp sử dụng cơ bản.
Bạn chỉ có thể làm việc với bộ nhớ đệm dùng chung bằng cách sử dụng các chính sách lưu vào bộ nhớ đệm chứ không phải API quản lý. Để có một chính sách lưu vào bộ nhớ đệm sử dụng bộ nhớ đệm dùng chung, bạn chỉ cần bỏ qua phần tử
<CacheResource>của chính sách. -
Bộ nhớ đệm môi trường: Khi muốn định cấu hình các thuộc tính bộ nhớ đệm bằng các giá trị mà bạn chọn, bạn có thể tạo bộ nhớ đệm có phạm vi môi trường. Để biết thêm về cách tạo bộ nhớ đệm, hãy xem phần Tạo và chỉnh sửa bộ nhớ đệm môi trường.
Khi tạo một bộ nhớ đệm môi trường, bạn sẽ định cấu hình các thuộc tính mặc định của bộ nhớ đệm đó. Bạn có thể sử dụng chính sách lưu vào bộ nhớ đệm bằng cách chỉ định tên bộ nhớ đệm trong phần tử
<CacheResource>của chính sách.
Giới thiệu về tính năng mã hoá bộ nhớ đệm
Edge for Public Cloud: Bộ nhớ đệm chỉ được mã hoá trong các tổ chức có hỗ trợ PCI và HIPAA. Hoạt động mã hoá cho những tổ chức đó được định cấu hình trong quá trình cung cấp tổ chức.
Các cấp bộ nhớ đệm trong bộ nhớ và bộ nhớ đệm cố định
Cả bộ nhớ đệm dùng chung và bộ nhớ đệm môi trường đều được xây dựng trên một hệ thống gồm 2 cấp, bao gồm một cấp trong bộ nhớ và một cấp liên tục. Các chính sách tương tác với cả hai cấp độ như một khung kết hợp. Edge quản lý mối quan hệ giữa các cấp.

-
Cấp 1 là bộ nhớ đệm trong bộ nhớ (L1) để truy cập nhanh. Mỗi nút xử lý thông báo (MP) đều có bộ nhớ đệm riêng trong bộ nhớ (được triển khai từ Ehcache) để phản hồi yêu cầu nhanh nhất.
- Trên mỗi nút, một tỷ lệ phần trăm bộ nhớ nhất định được dành riêng cho bộ nhớ đệm.
- Khi đạt đến giới hạn bộ nhớ, Apigee Edge sẽ xoá các mục trong bộ nhớ đệm khỏi bộ nhớ (mặc dù các mục đó vẫn được giữ trong bộ nhớ đệm liên tục L2) để đảm bảo bộ nhớ vẫn có sẵn cho các quy trình khác.
- Các mục sẽ bị xoá theo thứ tự thời gian kể từ lần truy cập gần đây nhất, trong đó các mục cũ nhất sẽ bị xoá trước.
- Các bộ nhớ đệm này cũng bị giới hạn về số lượng mục trong bộ nhớ đệm.
-
Cấp 2 là bộ nhớ đệm liên tục (L2) bên dưới bộ nhớ đệm trong bộ nhớ. Tất cả các nút xử lý thông báo đều dùng chung một kho dữ liệu bộ nhớ đệm (Cassandra) để duy trì các mục trong bộ nhớ đệm.
- Các mục trong bộ nhớ đệm vẫn tồn tại ở đây ngay cả sau khi bị xoá khỏi bộ nhớ đệm L1, chẳng hạn như khi đạt đến giới hạn trong bộ nhớ.
- Vì bộ nhớ đệm liên tục được chia sẻ giữa các trình xử lý thông báo (ngay cả ở các khu vực khác nhau), nên các mục trong bộ nhớ đệm vẫn có sẵn bất kể nút nào nhận được yêu cầu về dữ liệu được lưu vào bộ nhớ đệm.
- Chỉ những mục có kích thước nhất định mới có thể được lưu vào bộ nhớ đệm và các giới hạn khác về bộ nhớ đệm cũng được áp dụng. Xem phần Quản lý giới hạn bộ nhớ đệm.
Bạn cũng có thể quan tâm đến bài viết Apigee Edge Caching In Detail (Chi tiết về tính năng lưu vào bộ nhớ đệm của Apigee Edge) trên Cộng đồng Apigee.
Cách chính sách sử dụng bộ nhớ đệm
Sau đây mô tả cách Apigee Edge xử lý các mục trong bộ nhớ đệm khi các chính sách lưu vào bộ nhớ đệm thực hiện công việc của mình.
- Khi một chính sách ghi một mục mới vào bộ nhớ đệm (chính sách PopulateCache hoặc ResponseCache):
- Edge chỉ ghi mục nhập vào bộ nhớ đệm L1 trong bộ nhớ trên bộ xử lý thông báo đã xử lý yêu cầu. Nếu đạt đến giới hạn bộ nhớ trên trình xử lý thông báo trước khi mục nhập hết hạn, thì Edge sẽ xoá mục nhập đó khỏi bộ nhớ đệm L1.
- Edge cũng ghi mục nhập vào bộ nhớ đệm L2.
- Khi một chính sách đọc từ bộ nhớ đệm (chính sách LookupCache hoặc ResponseCache):
- Trước tiên, Edge sẽ tìm mục trong bộ nhớ đệm L1 trong bộ nhớ của trình xử lý thông báo xử lý yêu cầu.
- Nếu không có mục nhập tương ứng trong bộ nhớ, Edge sẽ tìm mục nhập đó trong bộ nhớ đệm liên tục L2.
- Nếu mục nhập không có trong bộ nhớ đệm cố định:
- Chính sách LookupCache: Không có giá trị nào được truy xuất từ bộ nhớ đệm.
- Chính sách ResponseCache: Edge trả về phản hồi thực tế từ đích đến ứng dụng khách và lưu trữ mục nhập trong bộ nhớ đệm cho đến khi hết hạn hoặc bị vô hiệu hoá.
- Khi một chính sách cập nhật hoặc vô hiệu hoá một mục nhập bộ nhớ đệm hiện có (chính sách InvalidCache, PopulateCache hoặc ResponseCache):
- Bộ xử lý thông báo nhận được yêu cầu sẽ gửi một thông báo truyền tin để cập nhật hoặc xoá mục trong bộ nhớ đệm L1 trên chính nó và tất cả các bộ xử lý thông báo khác ở mọi khu vực.
- Nếu truyền tin thành công, mỗi bộ xử lý thông báo nhận được sẽ cập nhật hoặc xoá mục trong bộ nhớ đệm L1.
- Nếu quá trình truyền tin không thành công, giá trị bộ nhớ đệm không hợp lệ vẫn nằm trong bộ nhớ đệm L1 trên những bộ xử lý thông báo không nhận được thông báo truyền tin. Các bộ xử lý thông báo đó sẽ có dữ liệu cũ trong bộ nhớ đệm L1 cho đến khi thời gian tồn tại (TTL) của mục hết hạn hoặc bị xoá khi đạt đến giới hạn bộ nhớ của bộ xử lý thông báo.
- Thông báo truyền tin này cũng cập nhật hoặc xoá mục trong bộ nhớ đệm L2.
- Bộ xử lý thông báo nhận được yêu cầu sẽ gửi một thông báo truyền tin để cập nhật hoặc xoá mục trong bộ nhớ đệm L1 trên chính nó và tất cả các bộ xử lý thông báo khác ở mọi khu vực.
Quản lý giới hạn bộ nhớ đệm
Thông qua cấu hình, bạn có thể quản lý một số khía cạnh của bộ nhớ đệm. Dung lượng tổng thể có sẵn cho bộ nhớ đệm trong bộ nhớ bị giới hạn bởi tài nguyên hệ thống và không thể định cấu hình. Các ràng buộc sau đây áp dụng cho bộ nhớ đệm:
- Giới hạn bộ nhớ đệm: Nhiều giới hạn bộ nhớ đệm được áp dụng, chẳng hạn như kích thước tên và giá trị, tổng số bộ nhớ đệm, số lượng mục trong bộ nhớ đệm và thời gian hết hạn.
-
Bộ nhớ đệm trong bộ nhớ (L1). Bạn không thể định cấu hình hạn mức bộ nhớ cho bộ nhớ đệm. Apigee đặt ra các giới hạn cho mỗi trình xử lý thông báo lưu trữ bộ nhớ đệm cho nhiều khách hàng.
Trong môi trường đám mây được lưu trữ, nơi các bộ nhớ đệm trong bộ nhớ cho tất cả các hoạt động triển khai của khách hàng được lưu trữ trên nhiều trình xử lý thông báo dùng chung, mỗi trình xử lý có một ngưỡng phần trăm bộ nhớ có thể định cấu hình Apigee để đảm bảo rằng việc lưu vào bộ nhớ đệm không tiêu thụ hết bộ nhớ của ứng dụng. Khi vượt quá ngưỡng đối với một trình xử lý thông báo nhất định, các mục trong bộ nhớ đệm sẽ bị loại bỏ khỏi bộ nhớ dựa trên cơ sở được sử dụng gần đây nhất. Các mục bị loại bỏ khỏi bộ nhớ vẫn nằm trong bộ nhớ đệm L2 cho đến khi hết hạn hoặc bị vô hiệu hoá.
- Bộ nhớ đệm liên tục (L2). Các mục bị loại bỏ khỏi bộ nhớ đệm trong bộ nhớ vẫn nằm trong bộ nhớ đệm liên tục theo chế độ cài đặt thời gian tồn tại có thể định cấu hình.
Các chế độ tối ưu hoá có thể định cấu hình
Bảng sau đây liệt kê các chế độ cài đặt mà bạn có thể sử dụng để tối ưu hoá hiệu suất của bộ nhớ đệm. Bạn có thể chỉ định các giá trị cho những chế độ cài đặt này khi tạo bộ nhớ đệm môi trường mới, như mô tả trong phần Tạo và chỉnh sửa bộ nhớ đệm môi trường.
| Cài đặt | Mô tả | Ghi chú |
|---|---|---|
| Hết hạn | Chỉ định thời gian tồn tại cho các mục trong bộ nhớ đệm. | Không có. |