Antipattern: 256 KB'tan büyük verileri önbellekte depolama

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Apigee Edge, verilerin kalıcı olması ve daha hızlı alınması için çalışma zamanında bir önbellekte depolanmasını sağlar.

  • Veriler başlangıçta L1 önbelleği olarak adlandırılan Mesaj İşleyen'in bellek içi önbelleğine kaydedilir.
  • L1 önbelleği, JVM belleğinin yüzdesi olarak kendisi için ayrılan bellek miktarıyla sınırlıdır.
  • Önbelleğe alınan girişler daha sonra tüm İleti İşleyenlerin erişimine açık olan L2 önbelleği'nde kalıcı olarak saklanır. Daha fazla bilgiyi aşağıdaki bölümde bulabilirsiniz.
  • L2 önbelleği, önbellek girişlerinin sayısıyla ilgili herhangi bir katı sınıra sahip değildir ancak önbelleğe alınabilecek girişin maksimum boyutu 256 KB ile sınırlıdır. Optimum performans için önerilen önbellek boyutu 256 KB'tır.

Antipattern

Bu antipattern, Apigee Edge platformundaki mevcut önbellek boyutu kısıtlamalarının aşılmasının sonuçları hakkındadır.

256 KB'tan büyük veriler önbelleğe alındığında aşağıdaki sonuçlar ortaya çıkar:

  • Mesaj işleyicilerin her birinde ilk kez çalıştırılan API isteklerinin, 256 KB'tan büyük girişler L2 önbelleği kullanılamadığından verileri orijinal kaynaktan (politika veya hedef sunucu) bağımsız olarak alması gerekir.
  • L1 önbelleği, daha büyük verileri (> 256 KB) depolayarak platform kaynaklarına daha fazla baskı uygular. Bu durum, L1 önbellek belleğinin daha hızlı dolmasına ve dolayısıyla diğer veriler için daha az alan kalmasına neden olur. Sonuç olarak, verileri istediğiniz kadar agresif bir şekilde önbelleğe alamazsınız.
  • Giriş sayısı sınırına ulaşıldığında, Mesaj İşleyicilerdeki önbelleğe alınmış girişler kaldırılır. Bu durum, verilerin ilgili ileti işleyicilerde orijinal kaynaktan tekrar getirilmesine neden olur.

İki akış şeması.
  Boyutu 256 KB'tan küçük olan API Proxy ile Mesaj İşleyicileri arasındaki akışları ve Mesaj İşleyicileri ile Kalıcı Depolama L2 Önbelleği arasındaki akışları gösteren bir tane. API Proxy ile Mesaj İşleyicileri arasındaki ve Mesaj İşleyicileri ile Veri/Yanıt arasındaki, L2 Önbelleği'nde depolanmayan akışı gösteren 256 KB'den büyük dosyalar için bir tane.

Etki

  • 256 KB'tan büyük veriler L2/kalıcı önbellekte depolanmaz.
  • Orijinal kaynağa (politika veya hedef sunucu) daha sık yapılan çağrılar, API isteklerinde gecikmeye neden olur.

En iyi uygulama

  • Optimum performans elde etmek için 256 KB'tan küçük verileri önbellekte depolamak tercih edilir.
  • 256 KB'tan büyük verileri depolamak gerekiyorsa şunları göz önünde bulundurun:
    • Büyük verileri depolamak için uygun bir veritabanı kullanma

      VEYA

    • Verileri sıkıştırma

Daha fazla bilgi