Spike Arrest politikasını API'nize ekleyin

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

Neler öğreneceksiniz?

Bu eğitim boyunca şunları öğreneceksiniz:

  • İsteği ve yanıtı etkileyen bir politika ekleyin.
  • Politikanın etkilerini görün.

Gerekenler

  • Proxy'nizde en az bir politika (Başlangıç eğitiminin bir parçasıdır)
  • Komut satırından API çağrıları yapmak için makinenize curl yüklenmiştir.

Spike Arrest politikasını ekleyin

Bu eğitimde, hedef hizmeti kullanımdaki artış, hatalı istemciler veya kötü amaçlı saldırılardan kaynaklanabilecek ani trafik artışlarına karşı korumak için SpikeArrest politikasını ekleyip yapılandıracaksınız. İstek sayısı hız sınırını aştığında API, bir istek için HTTP 500 hatası döndürür.

Spike Arrest politikasını bir API proxy'sine ekleyin:

  1. apigee.com/edge adresinde oturum açın.
  2. Sol gezinme çubuğunda Geliştirme > API Proxy'leri öğesini seçin.
  3. Spike Arrest politikasını eklemek istediğiniz API proxy'sini seçin.

    Başlangıç eğiticisini izlediyseniz bu eğiticiyi API proxy'si oluşturma bölümünde oluşturduğunuz "getstarted" proxy'sine ekleyebilirsiniz.

  4. Yeni API proxy'sinin düzenleyicisinde Geliştir sekmesini tıklayın:

    API Proxy Düzenleyici, API proxy'nizin yapısını görmenize ve akışını yapılandırmanıza olanak tanır. Düzenleyici, proxy'nizin istek ve yanıt mesajı akışının görsel bir temsilinin yanı sıra proxy'yi tanımlayan temel XML'in düzenlenebilir bir görünümünü sunar.

  5. Sol Gezgin bölmesinde, Proxy Uç Noktaları > varsayılan altında PreFlow'u tıklayın. (Diğer eğiticiler akış kavramını ele alacaktır.)
  6. Ön Akış İsteğine karşılık gelen üstteki +Adım düğmesini tıklayın. Bu, oluşturabileceğiniz tüm politikaların kategorilere ayrılmış bir listesini gösterir.

    Ön Akış İsteğinde Tıklama Adımı

  7. Trafik Yönetimi kategorisinde Spike Arrest'i (Spike Arrest) seçin. Yeni Politika iletişim kutusu görünür:

    Spike Arrest politikası oluştur

  8. Varsayılan adları değiştirmeyin ve Add'i (Ekle) tıklayın. Yeni politika, isteğin PreFlow akışına eklenir.
  9. Navigator'da Proxy Endpoints > default'un altındaki PreFlow'un hâlâ seçili olduğundan emin olun ve API Proxy Düzenleyicisi'nde aşağıdakileri göz önünde bulundurun:
    • Yeni Spike Arrest-1 politikası, API Proxy Düzenleyicisi'nin sol tarafındaki Gezgin'de yer alan Politikalar bölümüne eklenir.
    • Spike Arrest-1 simgesi, API Proxy Düzenleyici'nin üst orta kısmındaki Tasarımcı görünümüne eklenir. Bu simge, proxy'nizin mesaj akışlarının görsel bir temsilidir.
    • Politikanın XML'i, API Proxy Düzenleyici'nin alt orta kısmındaki Kod görünümünde gösterilir.

    Spike Arrest politikasıyla PreFlow'u göster

  10. Navigator'da, Politikalar bölümünde Spike Arrest-1'i seçin ve API Proxy Düzenleyicisi'nde aşağıdakilere dikkat edin:
    • Politika ayrıntıları, API Proxy Düzenleyicisi'nin üst orta kısmındaki Tasarımcı görünümünde gösterilir.
    • Politikanın XML'i, API Proxy Düzenleyici'nin alt orta kısmındaki Kod görünümünde gösterilir.
    • Politikanın XML öğesi ve özellik değerleri, API Proxy Düzenleyici'nin sağ tarafındaki Mülk Denetleyici'de gösterilir.

  11. Politikanın XML'inde, <Rate> öğesinin değerini 13:00 olarak değiştirin (bu, bulutta her 60 saniyede bir yaklaşık 2 isteğe izin verildiği anlamına gelir).

    Hızı, dakika (pm) veya saniye başına (ps) tam sayı değeri olarak belirtebilirsiniz. Bu, çok düşük bir sınırdır ve yalnızca politikayı göstermek amacıyla bu eğitimde kullanılır. Genellikle, bunu çok daha yüksek bir sınıra ayarlarsınız.

    Özellik Denetleyicisi'ndeki Rate değerinin de "13:00" olarak değiştiğine dikkat edin. Alternatif olarak, Mülk Denetleyicisi'nde Ücret değerini değiştirebilirsiniz. Bu değer, XML görünümüne yansıtılır.

  12. Değişikliklerinizle birlikte geçerli düzeltmeyi kaydetmek için Kaydet'i tıklayın.
  13. API'yi curl ile çağırarak Apigee kuruluşunuzun adını org_name ile değiştirin:

    curl "http://org_name-test.apigee.net/getstarted"

    Örneğin:

    curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool

    İsteğin başarılı olduğundan ve öncekiyle aynı XML yanıtını gördüğünüzden emin olun. (Web tarayıcısına yalnızca URL’yi de girebilirsiniz.)

  14. curl komutunu bir dakika içinde iki veya üç kez daha yürütün (veya tarayıcı penceresini yenileyin) ve politikanın hız sınırını aştığınız için aşağıdaki mesajı gördüğünüze dikkat edin:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    Bir dakika içinde başka aramalar yapmaya çalışırsanız hata mesajını almaya devam edersiniz.

  15. Politikanızı <Rate> olan sınırı 15:00 olarak ayarlayacak şekilde düzenleyin (bu, bulutta her 4 saniyede bir yaklaşık 2 çağrıya izin verildiği anlamına gelir) ve API proxy'sini kaydedin.
  16. curl komutunu çalıştırın veya tarayıcıyı art arda yenileyin (curl daha hızlıdır). 4 saniyelik aralıklarla bir veya iki arama yaparsanız aramalarınızın başarılı olduğunu göreceksiniz. Aramaları hızlı bir şekilde, 4 saniye içinde ikiden fazla yaparsanız bu hata size ait olmalıdır. Ancak her 4 saniyelik aradan sonra arama yapmaya devam edebilirsiniz. Bu durumda görüşme süresi 13:00 ayarını kullanarak bir dakika boyunca bloke edilir.