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.
info

Edge API Analytics, Apigee Edge tarafından sağlanan çok güçlü bir yerleşik özelliktir. API'ler arasında aktarılan geniş bir veri yelpazesini toplar ve analiz eder. Toplanan analiz verileri çok faydalı analizler sağlayabilir. Örneğin, API trafik hacminin zaman içindeki trendi nasıl? En çok kullanılan API hangisi? Hangi API'lerin hata oranları yüksek?

Bu verilerin ve analizlerin düzenli olarak incelenmesi, mevcut kullanıma göre API'lerin gelecekteki kapasite planlaması, işletme ve gelecekteki yatırım kararları gibi uygun işlemleri yapmak için kullanılabilir.

Analytics verileri ve depolama alanı

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

  • API hakkında bilgiler (İstek URI'si, istemci 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ı, İşleme Süresi
  • Hata Bilgisi: Hata Sayısı, Hata Kodu, Başarısız Politika, Apigee ve Hedef Sunucudan Kaynaklanan Hata 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 bir Postgres veritabanında oluşturulup yönetilen bir analytics şemada saklanır.

Genellikle, standart bir Edge kurulumunda Postgres'in aşağıdaki şemaları vardır:

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üklüyse rkms şeması bulunur. Diğer şemalar, Postgres'in dahili işlevleri içindir.

Apigee Edge, çalışma zamanında dinamik olarak yeni gerçek tabloları ekleyeceğinden analytics şeması değişecektir. Postgres sunucu bileşeni, gerçek verileri Edge kullanıcı arayüzünde yüklenip görüntülenen toplu tablolarda toplar.

Antipattern

Özel sütunlar, tablolar ve/veya görünümler eklemek Apigee'nin sahip olduğu Postgres veritabanında doğrudan SQL sorguları kullanarak özel bulut ortamlarında olumsuz sonuçlara yol açabileceğinden önerilmez.

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

Aşağıda gösterildiği gibi analytics şeması altında account adlı bir özel tablo oluşturulduğunu varsayalım:

Bir süre sonra Apigee Edge'in daha düşük bir sürümden daha yüksek bir sürüme yükseltilmesi gerektiğini varsayalım. Özel Bulut Apigee Edge'i yükseltmek, diğer birçok bileşenin yanı sıra Postgres'i de yükseltmeyi içerir. Postgres veritabanına özel sütunlar, tablolar veya görünümler eklenmişse Postgres yükseltmesi, Apigee Edge tarafından oluşturulmadığı 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.

Benzer şekilde, Postgres veritabanı da dahil olmak üzere Edge bileşenlerinin yedeklenmesi ve geri yüklenmesi işleminin yapıldığı Apigee Edge bakım etkinlikleri sırasında da hatalar oluşabilir.

Etki

  • Postgres bileşeni yükseltmesi, Apigee Edge tarafından oluşturulmayan özel nesnelere atıfta bulunan hatalarla başarısız olduğu için Apigee Edge yükseltmesi tamamlanamıyor.
  • Apigee Analytics hizmetinin bakımı (yedekleme/geri yükleme) yapılırken tutarsızlıklar (ve hatalar)

En İyi Uygulama

  • Doğrudan Apigee'nin sahip olduğu analytics gibi şemalara sütun, tablo, görünüm, işlev ve prosedür biçiminde özel bilgi eklemeyin.
  • Özel bilgilerin desteklenmesi gerekiyorsa analytics şemasına bir İstatistik Toplayıcı politikası kullanılarak sütun (alan) olarak eklenebilir.

Daha fazla bilgi