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

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

Apigee Edge, kalıcılık ve daha hızlı alma için verileri çalışma zamanında önbellekte depolama özelliği sunar.

  • Veriler başlangıçta Mesaj İşleyici'nin L1 önbellek adı verilen bellek içi önbelleğinde depolanır.
  • L1 önbelleği, JVM belleğinin yüzdesi olarak kendisine ayrılan bellek miktarıyla sınırlıdır.
  • Önbelleğe alınan girişler daha sonra tüm Mesaj İşleyicileri tarafından erişilebilen L2 önbelleğinde tutulur. Daha fazla bilgiye aşağıdaki bölümden ulaşabilirsiniz.
  • L2 önbelleğinde önbellek girişi sayısıyla ilgili herhangi bir sabit sınır yoktur. Ancak girişin önbelleğe alınabilecek maksimum boyutu 256 KB ile sınırlandırılmıştır. Optimum performans için önerilen önbellek boyutu 256 KB'tır.

Antipattern

Bu özel antipattern, Apigee Edge platformundaki mevcut önbellek boyutu kısıtlamalarını aşmanın sonuçlarından bahsediyor.

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

  • 256 KB'tan büyük girişler L2 önbelleğinde bulunmadığı için Mesaj İşleyicilerin her birinde ilk kez yürütülen API isteklerinin, verileri orijinal kaynaktan (politika veya hedef sunucu) bağımsız olarak alması gerekir.
  • L1 önbellekte daha büyük verilerin (> 256 KB) depolanması, platform kaynaklarına daha fazla yük bindirir. L1 önbellek belleğinin daha hızlı doldurulmasını ve böylece, diğer veriler için daha az alan olmasını sağlar. Bunun sonucunda, kişi verileri istediği kadar agresif bir şekilde önbelleğe alamaz.
  • Giriş sayısı sınırına ulaşıldığında, Mesaj İşleyicilerinden gelen önbelleğe alınmış girişler kaldırılır. Bu durum, verilerin ilgili Mesaj İşleyicilerinde tekrar orijinal kaynaktan getirilmesine neden olur.

İki akış diyagramı.
  API Proxy'si ile Mesaj İşleyicileri arasındaki akışları ve Mesaj İşleyicileri ile Kalıcı Depolama L2 Önbelleği arasındaki akışları gösteren 256 KB'tan küçük boyut için bir tanesi. API Proxy'si ile Mesaj İşleyicileri arasındaki akışları ve Mesaj İşleyiciler ile L2 Önbelleğinde depolanmayan Veri/Yanıtlar arasındaki akışları gösteren 256 KB'tan büyük boyut için bir örnek.

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 istekleri için gecikmelerin artmasına neden olur.

En iyi uygulama

  • Optimum performans için 256 KB'tan küçük verilerin önbellekte depolanması tercih edilir.
  • 256 KB'tan büyük verileri depolamanız gerekiyorsa şunları dikkate alın:
    • Büyük verileri depolamak için uygun veritabanını kullanma

      VEYA

    • Verileri sıkıştırma

Daha fazla bilgi