Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Edge Microgateway v. 2.5.x
Kitle
Bu konu, Search Console'u kullanan mevcut eklentileri kullanmak isteyen Edge mikro ağ geçidiyle kurulur. Ayrıca, Çevik’te yüksek oranda tutma ve kota eklentileri (her ikisi de kuruluma dahildir). Yeni bir web sitesi geliştirmek isteyen daha fazla bilgi için Geliştirme özel eklentiler.
Edge Microgateway eklentisi nedir?
Eklentiler, Edge Microgateway'e işlev ekleyen bir Node.js modülüdür. Eklenti modülleri tutarlı bir kalıp izler ve Edge Microgateway tarafından bilinen bir konumda saklanır. mikro ağ geçidini kullanarak bunları otomatik olarak keşfedip yükleyebilirsiniz. Edge Mikro Ağ Geçidi, çeşitli mevcut Eklentiler ve ayrıca, Özel eklentiler geliştirme bölümünde açıklandığı gibi özel eklentiler de oluşturabilirsiniz.
Edge ile paket halinde sunulan mevcut eklentiler Mikro ağ geçidi
Yükleme sırasında Edge Microgateway ile sağlanan birçok mevcut eklenti sağlanır. Bu şunlardır:
Eklenti | Varsayılan olarak etkindir | Açıklama |
---|---|---|
analiz | Evet | Analiz verilerini Edge Microgateway'den Apigee Edge'e gönderir. |
oauth | Evet | Edge Mikro Ağ Geçidi'ne OAuth jetonu ve API anahtarı doğrulaması ekler. Bkz. Ayar ve Edge Microgateway'i yapılandırma hakkında daha fazla bilgi edinin. |
kota | Hayır | Edge Mikro Ağ Geçidi'ne yapılan isteklerde kotayı uygular. Depolama ve yönetim için Apigee Edge kullanıyor kotalar. Kota eklentisini kullanma başlıklı makaleyi inceleyin. |
spikearrest | Hayır | Ani trafik artışlarına ve DoS saldırılarına karşı koruma sağlar. Sıçramalı durdurma eklentisini kullanma bölümüne bakın. |
başlık-büyük harf | Hayır | Geliştiricilerin özel eklentiler yazmasına yardımcı olmak için tasarlanmış, yorum eklenmiş örnek bir proxy. Bkz. Edge Microgateway örnek eklentisi. |
accumulate-request | Hayır | İstek verilerini bir sonraki işleyiciyi eklemesi gerekir. tek, birikmiş istek içerik nesnesi. |
accumulate-response | Hayır | Verileri bir sonraki hedefe iletmeden önce yanıt verilerini tek bir nesnede toplar. işleyiciyi eklemesi gerekir. tek, toplanmış yanıt içeriği nesnesi. |
dönüştürme-büyük-harf | Hayır | İstek veya yanıt verilerini dönüştürür. Bu eklenti, en iyi uygulamayı temsil ediyor dönüşüm eklentisinin uygulanmasıdır. Örnek eklenti basit bir dönüşüm işlemi (istek veya yanıt verilerini büyük harfe dönüştürür); ama belirli bir zamanda programatik XML'den JSON'ye gibi diğer türlerde dönüşümler gerçekleştirebilirsiniz. |
json2xm | Hayır | İstek veya yanıt verilerini kabul etme veya içerik türü başlıklarına göre dönüştürür. Örneğin, daha fazla bilgi için eklentiye bakın belgelerine göz atın. |
kota-belleği | Hayır | Edge Mikro Ağ Geçidi'ne yapılan isteklerde kotayı uygular. Kotaları yerel olarak depolar ve yönetir hafızada bulabilirsiniz. |
sağlık denetimi | Hayır | Edge Mikro Ağ Geçidi işlemi hakkında bilgi döndürür. Bu bilgiler arasında bellek kullanımı, CPU kullanımı, vb. bulabilirsiniz. Eklentiyi kullanmak için Edge'inizde /healthcheck URL'sini çağırın. Mikro ağ geçidi örneği. Bu eklenti, Google'dan e-posta güncellemeleri ve kendi durum denetimi eklentinizi uygulayın. |
Mevcut eklentiler nerede bulunur?
Edge Microgateway ile paketlenen mevcut eklentiler burada bulunur. [prefix]
npm
ön ek dizinidir. Bkz.
Bu dizini bulamıyorsanız Edge Microgateway nerede yüklüdür?
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins
Eklenti ekleme ve yapılandırma
Eklentileri eklemek ve yapılandırmak için şu kalıbı uygulayın:
- Edge Mikro Ağ Geçidi'ni durdurun.
- Bir Edge Microgateway yapılandırma dosyası açın. Ayrıntılar için bkz. Seçenekler için yapılandırma değişiklikleri yapma başlıklı makaleyi inceleyin.
- Eklentiyi, yapılandırma dosyasının
plugins:sequence
öğesine aşağıdaki gibi ekleyin. Eklentiler bu listede göründükleri sırayla yürütülür.
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - plugin-name
- Eklentiyi yapılandırın. Bazı eklentiler,
yapılandırma dosyası. Örneğin, ani artış durdurmasını yapılandırmak için aşağıdaki dizeyi ekleyebilirsiniz.
eklentisidir. Sıçramalı durdurma eklentisini kullanma bölümüne bakın.
konulu videomuzu izleyin.
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest spikearrest: timeUnit: minute allow: 10
- Dosyayı kaydedin.
- Düzenlediğiniz yapılandırma dosyasına bağlı olarak Edge Microgateway'i yeniden başlatın veya yeniden yükleyin.
Eklentiye özel yapılandırma
Yapılandırma dosyasında belirtilen eklenti parametrelerini geçersiz kılmak için bu dizindeki eklentiye özel yapılandırma:
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins/config
Burada [prefix]
, npm
ön ek dizinidir. Bkz.
Bu dizini bulamıyorsanız Edge Microgateway nerede yüklüdür?
plugins/<plugin_name>/config/default.yaml
Örneğin, Arkadaş Bitkiler projesinin
plugins/spikearrest/config/default.yaml
içinde engellenecek ve bunlar diğer tüm
yapılandırma ayarlarınızı kontrol edin.
spikearrest: timeUnit: hour allow: 10000 buffersize: 0
Sıçramalı durdurma eklentisini kullanma
Ani artış durdurma eklentisi, ani trafik artışlarına karşı koruma sağlar. İstek sayısını azaltır bir Edge Microgateway örneği tarafından işlenir.
Ani artış durdurma eklentisi
Eklenti ekleme ve yapılandırma başlıklı makaleye bakın.
Şunun için örnek yapılandırma: ani artış önleme
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - spikearrest spikearrest: timeUnit: minute allow: 10 bufferSize: 5
Şunun için yapılandırma seçenekleri: ani artış önleme
- timeUnit: Ani artış yürütme penceresinin ne sıklıkta sıfırlandığı. Geçerli değerler saniye veya dakikadır.
- allow: timeUnit sırasında izin verilen maksimum istek sayısı. Görüntüleyin Ayrıca birden fazla Edge Micro kullanıyorsanız bilgi edinin.
- bufferSize: (isteğe bağlı, varsayılan = 0), bufferSize > 0, ani artış durdurma bu istek sayısını bir arabellekte depolar. Bir sonraki yürütme "penceresi" olduğunda en az bir defa arabelleğe alınan istekler öncelikle işleme alınır. Ayrıca bkz. Bir arabellek seçin.
Ani artış önleme nasıl çalışır?
Ani artış önlemeyi, trafikteki ani artışlardan ziyade genel olarak trafikteki ani artışlara karşı korumanın bir yolu olarak Bu yöntem, trafiği belirli sayıda istekle sınırlandırmanın bir yoludur. API'leriniz ve arka ucunuz belirli bir trafik miktarına bakarsınız ve artış durdurma politikası, trafiği genel miktarlara istediğiniz zaman kapatabilirsiniz.
Çalışma zamanı artışı durdurma davranışı, normal değerden beklediğinizden farklı saniye başına veya saniye başına değerler girebilirsiniz.
Örneğin, şu şekilde dakikada 30 istek olarak bir hız belirttiğinizi varsayalım:
spikearrest: timeUnit: minute allow: 30
Test sırasında, gönderilen istek 30 saniyede 1 saniye içinde gönderilebilir. bir dakika içinde. Ancak politika bu şekilde zorunlu kılınmaz. Bir düşünün, 30 1 saniyelik süre içindeki istekler bazı ortamlarda ani artış olarak değerlendirilebilir.
Peki, sonrasında tam olarak ne olur? Ani artış benzeri davranışı önlemek için yükselme durdurma, izin verilen ayarlarınızı aşağıdaki gibi daha küçük aralıklara bölerek trafiğinizi artırın:
Dakika başına ücretler
Dakika başına ücretler, izin verilen saniye aralıklarıyla isteklere dönüştürülür. Örneğin, 30 Dakikadaki istek sayısı şu şekilde ayarlanır:
60 saniye (1 dakika) / 30 = 2 saniyelik aralıklar veya her 2 saniyede bir yaklaşık 1 isteğe izin verilir. CEVAP saniye içindeki ikinci istek başarısız olur. Ayrıca, bir dakika içindeki 31. istek başarısız olur.
Saniye başına fiyatlar
Saniye başına hızlar, milisaniyelik aralıklarla izin verilen isteklere dönüştürülür. Örneğin, 10 istek/saniye şu şekilde yumuşatılır:
1.000 milisaniye (1 saniye) / 10 = 100 milisaniyelik aralıklar veya yaklaşık 1 isteğe izin verilir her 100 milisaniyede bir . 100 ms içindeki ikinci bir istek başarısız olur. Ayrıca son 30 gün içinde ikincisi başarısız olur.
Sınır aşıldığında
İstek sayısı, belirtilen zaman aralığı içinde sınırı aşarsa ani artış durdurma aşağıdaki hata mesajını HTTP 503 durumuyla döndürür:
{"error": "spike arrest policy violated"}
Tampon ekleme
Politikaya tampon ekleyebilirsiniz. Tamponu 10’a ayarladığınızı varsayalım. Ani artış hızını aştığınızda API'nin hemen hata döndürmediğini görürsünüz limit. Bunun yerine istekler arabelleğe alınır (belirtilen sayıya kadar) ve arabelleğe alınan istekler bir sonraki uygun yürütme penceresi kullanılabilir olduğunda işlenir. Varsayılan bufferSize 0'dır.
Birden fazla Edge Micro kullanıyorsanız işlem
İzin verilen isteklerin sayısı, bir kontrol gerçekleştirirken kontrol edilen Edge Mikro çalışan işlemlerinin sayısına bağlıdır.
çalışıyor. Ani artış durdurma, çalışan işlemi başına izin verilen istek sayısını hesaplar. Varsayılan olarak
Edge Micro işlemlerinin sayısı, Edge Micro'nın çalıştığı makinedeki
yüklendi. Bununla birlikte, Edge Micro'yı başlattığınızda çalışan işlemlerinin sayısını yapılandırabilirsiniz.
start
komutundaki --processes
seçeneğini kullanabilirsiniz. Örneğin,
artış durdurmanın belirli bir dönemde 100 istekte tetiklenmesini istiyorsanız ve Edge'i başlatırsanız
--processes 4
seçeneğine sahip mikro ağ geçidi, ardındanallow: 25
artış durdurması yapılandırması. Özetle, genel kural allow
yapılandırmasını ayarlamaktır.
parametresini "istenen artış durdurma sayısı / işlem sayısı" değerine ekleyin.
Kota eklentisini kullanma
Kota, bir uygulamanın API'ye göndermesine izin verilen istek mesajı sayısını belirtir devam edebilir. Bir uygulama kota sınırına ulaştığında API çağrıları reddedilir. Ayrıca bkz. artış durdurması ve kota gibi.
Kota eklentisini ekleme
Eklenti ekleme ve yapılandırma başlıklı makaleye bakın.
Apigee'de ürün yapılandırması Kenar
Kotaları, API ürünlerini yapılandırdığınız Apigee Edge kullanıcı arayüzünde yapılandırırsınız. Bilmeniz gerekenler mikro ağ geçidine duyarlı proxy'yi içeren ve kotayla sınırlamak istediğiniz ürünün hangisi olduğunu öğrenebilirsiniz. Bu ürününün bir geliştirici uygulamasına eklenmesi gerekir. anahtarlarının sayısını geride bırakırsak kota, bu API çağrılarına uygulanır.
- Apigee Edge kurumsal hesabınıza giriş yapın.
- Edge kullanıcı arayüzünde, mikro ağ geçidine duyarlı proxy ile ilişkilendirilmiş ürünü açın.
kotayı uygulamak istiyorsunuz.
- Kullanıcı arayüzünde, Yayınla menüsünden Ürünler'i seçin.
- Kotayı uygulamak istediğiniz API'yi içeren ürünü açın.
- Düzenle'yi tıklayın.
- Kota alanında kota aralığını belirtin. Örneğin, her 100 istek
bir dakika Veya her 2 saatte bir 50.000 istek.
- Kaydet'i tıklayın.
- Ürünün bir geliştirici uygulamasına eklendiğinden emin olun. Bu uygulamadaki anahtarları kullanarak kimliği doğrulanmış API çağrılarına karşılık gelir.
Kota için örnek yapılandırma
edgemicro: home: ../gateway port: 8000 max_connections: -1 max_connections_hard: -1 logging: level: info dir: /var/tmp stats_log_interval: 60 plugins: dir: ../plugins sequence: - oauth - quota
Kota için yapılandırma seçenekleri
Kota eklentisi için ek yapılandırma seçeneği yoktur.
Kota eklentisini test etme
Kota aşıldığında istemciye şu mesaj var:
{"error": "exceeded quota"}
Aralarındaki fark nedir? ile kota arasındaki fark nedir?
Elinizdeki iş için doğru aracı seçmek önemlidir. Kota politikaları yapılandırması Bir istemci uygulamasının kurs boyunca API'ye göndermesine izin verilen istek mesajlarının sayısı bir saat, gün, hafta veya ay olabilir. Kota politikası, istemci uygulamalarında tüketim sınırlarını şu şekilde zorunlu kılar: gelen istekleri sayan dağıtılmış bir sayaç yönetimi.
Geliştiriciler ve iş ortaklarıyla iş sözleşmeleri veya HDS'ler uygulamak için kota politikası kullanın. çok daha iyidir. Örneğin, bir kota bir web sitesinin trafiğini sınırlamak için hem de ücretsiz bir hizmet sunarken, ödeme yapan müşteriler için tam erişim olanağı sunuyor.
API trafiğindeki ani artışlara karşı koruma sağlamak için artış durdurma özelliğini kullanın. Ani artış noktası genellikle olası DDoS veya diğer kötü amaçlı saldırıları önlemek için kullanılır.