Bộ nhớ đệm nội bộ

Bạn đang xem tài liệu về Apigee Edge.
Chuyển đến tài liệu về Apigee X.
thông tin

Chủ đề này mô tả cách hoạt động của bộ nhớ đệm trong các chính sách như Chính sách điền bộ nhớ đệm, chính sách Tra cứu bộ nhớ đệm, Chính sách InvalidateCachechí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ể dùng một trong 2 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 trong 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 tốt trong 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ý. Để 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ị do bạn chọn, bạn có thể tạo bộ nhớ đệm trong phạm vi môi trường. Để biết thêm thông tin về cách tạo bộ nhớ đệm, hãy xem phần Tạo và chỉnh sửa bộ nhớ đệm của môi trường.

    Khi tạo 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ể thiết lập chính sách lưu vào bộ nhớ đệm để sử dụng bộ nhớ đệm của môi trường 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 hỗ trợ PCIHIPAA. Mã hoá cho các tổ chức đó được định cấu hình trong quá trình cấp phép tổ chức.

Các mức bộ nhớ đệm cố định và bộ nhớ trong bộ 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 hai cấp, bao gồm cấp trong bộ nhớ và cấp liên tục. Các chính sách tương tác với cả hai cấp dưới dạng 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) có bộ nhớ đệm riêng trong bộ nhớ (triển khai từ Ehcache) để phản hồi các 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 sử dụng.
    • Khi đạt đến giới hạn bộ nhớ, Apigee Edge sẽ xoá các mục bộ nhớ đệm khỏi bộ nhớ (mặc dù các mục này vẫn được lưu trong bộ nhớ đệm ổn định L2) để đảm bảo các quy trình khác vẫn có thể sử dụng bộ nhớ.
    • Các mục nhập được xoá theo thứ tự thời gian kể từ lần truy cập gần nhất, trong đó các mục cũ nhất sẽ bị xoá trước tiên.
    • Các bộ nhớ đệm này cũng bị giới hạn bởi số mục trong bộ nhớ đệm.
  • Cấp 2 là bộ nhớ đệm cố định (L2) bên dưới bộ nhớ đệm của bộ nhớ trong. Mọi nút xử lý thông báo đều có chung một kho dữ liệu bộ nhớ đệm (Cassandra) để lưu trữ các mục nhập vào bộ nhớ đệm.
    • Các mục nhập vào 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 cố định được chia sẻ giữa các trình xử lý thông báo (ngay cả ở nhiều khu vực) nên các mục nhập bộ nhớ đệm có sẵn bất kể nút nào nhận được yêu cầu dữ liệu đã lưu vào bộ nhớ đệm.
    • Chỉ các mục có kích thước nhất định mới được lưu vào bộ nhớ đệm và áp dụng các giới hạn khác của bộ nhớ đệm. Hãy xem bài viết Quản lý giới hạn bộ nhớ đệm.

Có thể bạn cũng sẽ quan tâm đến Chi tiết về lưu vào bộ nhớ đệm trong API Edge trên Cộng đồng API.

Cách các chính sách sử dụng bộ nhớ đệm

Nội dung sau đây mô tả cách Apigee Edge xử lý các mục bộ nhớ đệm khi các chính sách lưu vào bộ nhớ đệm của bạn thực hiện công việc của chúng.

  • 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):
    1. Edge chỉ ghi mục nhập vào bộ nhớ đệm L1 của bộ nhớ trong chỉ trên trình xử lý thông báo đã xử lý yêu cầu. Nếu đạt giới hạn bộ nhớ trên trình xử lý tin nhắn trước khi mục nhập hết hạn, Edge sẽ xoá mục nhập đó khỏi bộ nhớ đệm L1.
    2. 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áchLookupCache hoặc ResponseCache):
    1. Edge tìm mục trước tiên trong bộ nhớ đệm L1 của bộ nhớ trong của trình xử lý thông báo đang xử lý yêu cầu.
    2. Nếu không có mục nào tương ứng trong bộ nhớ, Edge sẽ tìm mục đó trong bộ nhớ đệm ổn định L2.
    3. Nếu mục đó không nằm 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ừ mục tiêu cho ứ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 hết hiệu lực.
  • Khi một chính sách cập nhật hoặc vô hiệu hoá một mục bộ nhớ đệm hiện có (InvalidateCache, PopulateCache hoặc ResponseCache):
    1. Trình 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 để tự cập nhật hoặc xoá mục nhập trong bộ nhớ đệm L1 và tất cả trình xử lý thông báo khác ở mọi khu vực.
      • Nếu thông báo truyền tin thành công, mỗi trình xử lý thông báo nhận sẽ cập nhật hoặc xoá mục nhập trong bộ nhớ đệm L1.
      • Nếu thông báo truyền tin không thành công, thì giá trị bộ nhớ đệm đã vô hiệu hoá vẫn còn trong bộ nhớ đệm L1 trên những trình xử lý thông báo không nhận thông báo truyền tin. Những trình 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 nhập hết hạn hoặc bị xoá khi đạt giới hạn bộ nhớ của trình xử lý thông báo.
    2. Quá trình truyền tin cũng cập nhật hoặc xoá mục nhập trong bộ nhớ đệm L2.

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ố phần của bộ nhớ đệm. Tổng dung lượng 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 quy tắc ràng buộc sau á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ư tên và kích thước giá trị, tổng số bộ nhớ đệm, số mục trong bộ nhớ đệm và thời hạn.
  • Bộ nhớ đệm trong bộ nhớ (L1). Không thể định cấu hình giới hạn bộ nhớ cho bộ nhớ đệm của bạn. Các giới hạn do Apigee đặt ra cho từng trình xử lý tin nhắn lưu trữ bộ nhớ đệm cho nhiều khách hàng.

    Trong một môi trường đám mây được lưu trữ, nơi bộ nhớ đệm trong bộ nhớ cho mọi lượt 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 bộ xử lý có một ngưỡng tỷ lệ 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 tốn hết bộ nhớ của ứng dụng. Khi đạt đến ngưỡng của một trình xử lý thông báo nhất định, các mục nhập vào bộ nhớ đệm sẽ bị loại khỏi bộ nhớ trên cơ sở dữ liệu được sử dụng gần đây nhất. Các mục bị loại khỏi bộ nhớ sẽ vẫn còn trong bộ nhớ đệm L2 cho đến khi hết hạn hoặc không hợp lệ.

  • Bộ nhớ đệm ổn định (L2). Các mục bị loại khỏi bộ nhớ đệm của bộ nhớ trong bộ nhớ đệm vẫn nằm trong bộ nhớ đệm ổn định 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 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 giá trị cho các chế độ cài đặt này khi tạo bộ nhớ đệm của 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.

Xem xét Nội dung mô tả Ghi chú
Ngày hết hạn Chỉ định thời gian hoạt động cho các mục nhập bộ nhớ đệm. Không nội dung nào.