Antipattern: Postgres veritabanında Apigee'nin sahip olduğu şemaya özel bilgiler ekleme

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

Edge API Analytics, Apigee Edge'in sunduğu çok güçlü ve yerleşik bir özelliktir. API'ler arasında geçiş yapan çeşitli verileri toplayıp analiz eder. Toplanan analiz verileri son derece faydalı bilgiler sağlayabilir. Örneğin, API trafik hacmi belirli bir süre içinde nasıl bir eğilim gösteriyor? En çok kullanılan API hangisi? Hangi API'lerin hata oranları yüksek?

Bu veri ve bilgilerin düzenli analizi; mevcut kullanıma, iş ile gelecekteki yatırım kararlarına göre API'lerin gelecekteki kapasite planlaması gibi uygun işlemler ve daha pek çok işlem için kullanılabilir.

Analytics Verileri ve bunların depolaması

API Analytics, aşağıdakiler gibi birçok farklı veri türünü yakalar:

  • API hakkında bilgiler: İstek URI'sı, İstemci IP adresi, Yanıt Durumu Kodları vb.
  • API Proxy Performansı: Başarı/Başarısızlık oranı, İstek ve Yanıt İşleme Süresi vb.
  • Hedef Sunucu Performansı - Başarı/Başarısızlık oranı, İşlem Süresi
  • Hata Bilgisi: Hata Sayısı, Hata Kodu, Başarısızlık Politikası, Hatalara neden olan Apigee ve Hedef Sunucu Sayısı.
  • Diğer Bilgiler: Geliştiriciler, Geliştirici Uygulamaları vb. tarafından yapılan isteklerin sayısı

Tüm bu veriler, Apigee Edge tarafından Postgres veritabanında oluşturulup yönetilen analytics şemada depolanır.

Vanilla Edge kurulumunda genellikle Postgres aşağıdaki şemalara sahip olur:

analytics adlı şema, Edge tarafından her kuruluş ve ortamla ilgili tüm analiz verilerini depolamak için kullanılır. Para kazanma özelliği yüklendiyse rkms şeması yer alır. Diğer şemalar, Postgres dahili bileşenlerine yöneliktir.

Apigee Edge çalışma zamanında dinamik olarak yeni bilgi tabloları ekleyeceğinden analytics şeması değişmeye devam edecektir. Postgres sunucu bileşeni, doğruluk verilerini birleştirilmiş tablolarda toplar. Bu tablolar, Edge kullanıcı arayüzünde yüklenip görüntülenir.

Antipattern

Özel Cloud ortamlarındaki Postgres Database'de doğrudan SQL sorguları kullanarak Apigee'ye ait şemalardan herhangi birine özel sütun, tablo ve/veya görünüm eklemek olumsuz sonuçlara yol açabileceğinden önerilmez.

Bunu ayrıntılı olarak açıklamak için bir örnek inceleyelim.

Aşağıda gösterildiği gibi analiz şeması altında account adlı bir özel tablonun oluşturulduğunu düşünün:

Bir süre sonra Apigee Edge'in daha düşük bir sürümden daha üst bir sürüme yükseltilmesi gerektiğini varsayalım. Private Cloud Apigee Edge'in yeni sürüme geçirilmesi işlemi, diğer birçok bileşenin yanı sıra Postgres'i de yükseltmeyi içerir. Postgres Veritabanı'na eklenen özel sütunlar, tablolar veya görünümler varsa Postgres yükseltmesi, Apigee Edge tarafından oluşturulmadıkları için özel nesnelere referans veren hatalarla başarısız olur. Bu nedenle, Apigee Edge yükseltmesi de başarısız olur ve tamamlanamaz.

Apigee Edge bakım faaliyetleri sırasında Postgres veritabanı da dahil olmak üzere Edge bileşenlerinin yedeklenmesi ve geri yüklenmesi sırasında da benzer hatalar oluşabilir.

Etki

  • Postgres bileşen yükseltmesi, Apigee Edge tarafından oluşturulmayan özel nesnelere referans veren hatalar nedeniyle başarısız olduğu için Apigee Edge yükseltmesi tamamlanamıyor.
  • Apigee Analytics hizmet bakımı (yedekleme/geri yükleme) gerçekleştirilirken karşılaşılan tutarsızlıklar (ve hatalar).

En İyi Uygulama

  • Apigee'ye ait analytics gibi herhangi bir şemaya doğrudan sütun, tablo, görünüm, işlev ve prosedür biçiminde özel bilgiler eklemeyin.
  • Özel bilgilerin desteklenmesi gerekirse bu bilgiler, İstatistik Toplayıcı politikası kullanılarak analytics şemasına sütun (alan) olarak eklenebilir.

Daha fazla bilgi