Pamięć wewnętrzna

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
Informacje

W tym temacie opisujemy działanie pamięci podręcznej w ramach zasad takich jak: Zasada dotycząca wypełniania pamięci podręcznej, Zasada dotycząca pamięci podręcznej LookupCache, Zasada dotycząca nieważności pamięci podręcznej i Zasada dotycząca pamięci podręcznej odpowiedzi.

Pamięci podręczne wspólne i środowiskowe

Każda skonfigurowana przez Ciebie zasada dotycząca pamięci podręcznej może używać jednego z 2 typów pamięci podręcznej: wbudowanej wspólnej pamięci podręcznej, do której mają dostęp aplikacje, oraz co najmniej jednej utworzonej przez Ciebie pamięci podręcznej ograniczonej do środowiska.

  • Udostępniona pamięć podręczna: domyślnie Twoje serwery proxy mają dostęp do jednej współdzielonej pamięci podręcznej w każdym środowisku. Pamięć podręczna współdzielona sprawdza się w przypadku podstawowych zastosowań.

    Z współdzielonej pamięci podręcznej możesz korzystać tylko za pomocą zasad dotyczących pamięci podręcznej, a nie interfejsu zarządzania API. Aby zasada dotycząca pamięci podręcznej używała wspólnej pamięci podręcznej, po prostu pomiń element <CacheResource> w zasadach.

  • Pamięć podręczna środowiska: jeśli chcesz skonfigurować właściwości pamięci podręcznej za pomocą wybranych wartości, możesz utworzyć pamięć podręczną ograniczoną do środowiska. Więcej informacji o tworzeniu pamięci podręcznej znajdziesz w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.

    Podczas tworzenia pamięci podręcznej środowiska konfigurujesz jej domyślne właściwości. Zasady dotyczące pamięci podręcznej mogą korzystać z pamięci podręcznej środowiska, podając jej nazwę w elemencie <CacheResource> zasad.

Szyfrowanie pamięci podręcznej

Edge w chmurze publicznym: pamięć podręczna jest szyfrowana tylko w organizacjach obsługujących PCI i HIPAA. Szyfrowanie dla tych organizacji jest konfigurowane podczas provisionowania organizacji.

Poziomy pamięci podręcznej w pamięci i stałej

Zarówno współdzielone, jak i środowiskowe pamięci podręczne są tworzone na podstawie dwupoziomowego systemu, który składa się z poziomu pamięci podręcznej i poziomu trwałego. Zasady współpracują z obu poziomami jako połączone ramy. Edge zarządza relacjami między poziomami.

  • Poziom 1 to pamięć podręczna w pamięci (L1) zapewniająca szybki dostęp. Każdy węzeł przetwarzania wiadomości (MP) ma własną pamięć podręczną (wdrożoną z Ehcache) na potrzeby najszybszej odpowiedzi na żądania.
    • W każdym węźle pewien odsetek pamięci jest zarezerwowany na potrzeby pamięci podręcznej.
    • Gdy osiągnięta zostanie granica pamięci, Apigee Edge usuwa wpisy z pamięci podręcznej (chociaż są one nadal przechowywane w trwałej pamięci podręcznej L2), aby zapewnić dostęp do pamięci innym procesom.
    • Wpisy są usuwane w kolejności odwrotnej do daty ostatniego dostępu, przy czym najpierw usuwane są najstarsze wpisy.
    • Te pamięci podręczne są też ograniczone liczbą wpisów w pamięci podręcznej.
  • Poziom 2 to trwała pamięć podręczna (L2) poniżej pamięci podręcznej. Wszystkie węzły przetwarzające wiadomości współdzielą pamięć podręczną (Cassandra) do przechowywania wpisów w pamięci podręcznej.
    • Wpisy w pamięci podręcznej są tu przechowywane nawet po usunięciu z pamięci podręcznej L1, na przykład po osiągnięciu limitów pamięci.
    • Ponieważ trwała pamięć podręczna jest współdzielona przez procesory wiadomości (nawet w różnych regionach), wpisy w pamięci podręcznej są dostępne niezależnie od tego, który węzeł otrzyma prośbę o dane z pamięci podręcznej.
    • Do pamięci podręcznej mogą być zapisywane tylko wpisy o określonej wielkości. Obowiązują też inne limity pamięci podręcznej. Zobacz Zarządzanie limitami pamięci podręcznej.

Może Cię też zainteresować artykuł Apigee Edge Caching In Detail na forum Apigee Community.

Jak zasady korzystają z pamięci podręcznej

Poniżej opisujemy, jak Apigee Edge obsługuje wpisy w pamięci podręcznej, gdy obowiązują Twoje zasady dotyczące pamięci podręcznej.

  • Gdy zasada zapisuje nowy wpis w pamięci podręcznej (zasada PopulateCache lub ResponseCache):
    1. Edge zapisuje wpis do pamięci podręcznej L1 tylko w procesorze wiadomości, który obsłużył żądanie. Jeśli limity pamięci dla procesora wiadomości zostaną osiągnięte, zanim wpis wygaśnie, Edge usunie wpis z pamięci podręcznej L1.
    2. Edge zapisuje wpis również w pamięci podręcznej L2.
  • Gdy zasada odczytuje z pamięci podręcznej (zasada LookupCache lub ResponseCache):
    1. Edge najpierw szuka wpisu w pamięci podręcznej L1 procesora wiadomości, który obsługuje żądanie.
    2. Jeśli nie ma odpowiadającego wpisu w pamięci, Edge szuka go w pamięci trwałej L2.
    3. Jeśli wpisu nie ma w pamięci podręcznej:
      • Zasada LookupCache: z pamięci podręcznej nie jest pobierana żadna wartość.
      • Zasada ResponseCache: Edge zwraca rzeczywistą odpowiedź od celu do klienta i przechowuje wpis w pamięci podręcznej, dopóki nie wygaśnie lub nie zostanie unieważniony.
  • Gdy zasada aktualizuje lub unieważnia istniejący wpis w pamięci podręcznej (zasada InvalidateCache, PopulateCache lub ResponseCache):
    1. Procesor wiadomości, który odbiera żądanie, wysyła rozgłaszanie w celu zaktualizowania lub usunięcia wpisu w pamięci podręcznej L1 w sobie samym i we wszystkich innych procesorach wiadomości we wszystkich regionach.
      • Jeśli transmisja się powiedzie, każdy procesor wiadomości odbierającej aktualizuje lub usuwa wpis w pamięci podręcznej L1.
      • Jeśli transmisja zakończy się niepowodzeniem, nieważna wartość pamięci podręcznej pozostanie w pamięci podręcznej L1 w procesorach wiadomości, które nie otrzymały transmisji. Te procesory wiadomości będą mieć nieaktualne dane w pamięci podręcznej L1 do czasu wygaśnięcia czasu życia (TTL) wpisu lub jego usunięcia po osiągnięciu limitów pamięci procesora wiadomości.
    2. Transmisja aktualizuje lub usuwa wpis w pamięci podręcznej L2.

Zarządzanie limitami pamięci podręcznej

Dzięki konfiguracji możesz zarządzać niektórymi aspektami pamięci podręcznej. Całkowity obszar dostępny dla pamięci podręcznej w pamięci jest ograniczony przez zasoby systemowe i nie można go skonfigurować. Do pamięci podręcznej mają zastosowanie te ograniczenia:

  • Limity pamięci podręcznej: obowiązują różne limity pamięci podręcznej, takie jak rozmiar nazwy i wartości, łączna liczba pamięci podręcznych, liczba elementów w pamięci podręcznej oraz czas ważności.
  • Pamięć podręczna (L1). Limitów pamięci dla pamięci podręcznej nie można konfigurować. Limity są ustalane przez Apigee dla każdego procesora wiadomości, który hostuje pamięć podręczną dla wielu klientów.

    W hostowanym środowisku chmurowym, w którym pamięć podręczna dla wszystkich wdrożeń klienta jest hostowana na wielu współdzielonych procesorach wiadomości, każdy procesor ma konfigurowalny przez Apigee próg procentowy pamięci, aby zapobiec wykorzystaniu przez buforowanie całej pamięci aplikacji. Gdy przekroczony zostanie określony próg dla danego procesora wiadomości, wpisy w pamięci podręcznej są usuwane z pamięci na podstawie zasady „najmniej ostatnio używane”. Wpisy wyrzucane z pamięci pozostają w pamięci podręcznej L2 do czasu wygaśnięcia lub unieważnienia.

  • Pamięć podręczna (L2). Wpisy wyrzucane z pamięci podręcznej pozostają w trwałej pamięci podręcznej zgodnie z konfigurowalnym ustawieniem czasu życia.

Konfigurowalne optymalizacje

W tabeli poniżej znajdziesz ustawienia, których możesz używać do optymalizacji wydajności pamięci podręcznej. Wartości tych ustawień możesz określić podczas tworzenia nowej pamięci podręcznej środowiska, jak opisano w artykule Tworzenie i edytowanie pamięci podręcznej środowiska.

Ustawienie Opis Uwagi
Wygaśnięcie Określa czas życia wpisów w pamięci podręcznej. Brak.