Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Edge Microgateway v. 3.1.5 ve sonraki sürümler
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 eklentisini yapılandırmak için yapılandırma dosyanıza quotas
öğesini ekleyin.
aşağıdaki örnekte gösterildiği gibi:
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 quotas: bufferSize: hour: 20000 minute: 500 month: 1 default: 10000 useDebugMpId: true failOpen: true ...
Option | Açıklama |
---|---|
bufferSize |
(Tam sayı) quotas: bufferSize: minute: 500 default: 10000 useDebugMpId: true failOpen: true Mikro ağ geçidi varsayılan olarak kota sayacını Apigee Edge ile her 5 saniyede bir senkronize eder. kota aralığı "dakika" olarak ayarlanmıştır. Yukarıdaki yapılandırmaya göre, API ürününde kota aralığı "dakika", Kenar Mikro ağ geçidi her bir sürenin sonunda geçerli kota sayısını almak için Edge ile senkronize edilecektir 500 istek veya 5 saniye sonra (hangisi önce gerçekleşirse) Daha fazla bilgi için Kotaların nasıl sayıldığını anlama bölümüne bakın.
İzin verilen süre
birimler şunları içerir: |
failOpen |
Bu özellik etkinleştirildiğinde bir kota işleme hatası oluşursa
veya "kota geçerliyse" Edge'e gönderilen istek, uzak kota sayaçlarını güncelleyemiyorsa
bir sonraki başarılı uzak kotaya kadar yalnızca yerel sayılara göre işlenir
senkronizasyon gerçekleşir. Her iki durumda da quota-failed-open işareti
istek nesnesini oluşturur.
Kotayı etkinleştirmek için "fail open" (açılamadı) özelliğini kullanıyorsanız, aşağıdaki yapılandırmayı ayarlayın: edgemicro: ... quotas: failOpen: true |
useDebugMpId |
MP'nin günlüğe kaydedilmesini etkinleştirmek için bu işareti true olarak ayarlayın
(mesaj işlemcisi) kimliği
kota yanıtlarında.
Bu özelliği kullanmak için aşağıdaki yapılandırmayı ayarlamanız gerekir: edgemicro: ... quotas: useDebugMpId: true ...
{ "allowed": 20, "used": 3, "exceeded": 0, "available": 17, "expiryTime": 1570748640000, "timestamp": 1570748580323, "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a" } |
useRedis |
true olarak ayarlanırsa eklenti, kota yedekleme deposu için Redis kullanır.
Ayrıntılar için Kota için Redis yedekleme deposu kullanma bölümüne bakın. |
Kotaların nasıl sayıldığını anlama
Mikro ağ geçidi varsayılan olarak kota sayacını Apigee Edge ile her 5 saniyede bir senkronize eder. kota aralığı "dakika" olarak ayarlanmıştır. Aralık "dakika", örneğin "hafta" "ay" veya "ay" görüyorsanız varsayılan yenileme süresi 1 dakikadır.
Kota aralıklarını belirtmeniz önemlidir dahil edilir. Kota aralıkları, izin verilen istek sayısını belirtir bir dakika, saat, gün, hafta veya ay için. Örneğin, Ürün A'nın kota aralığı Dakika başına 100 istek ve Ürün B'nin kota aralığı saatte 10.000 istek olabilir.
Edge Microgateway quota
eklentisinin YAML'si
yapılandırma kotayı ayarlamaz
interval; bunun yerine, yerel bir Edge Mikro Ağ Geçidi'nin kendisinde
örnek, kotasını senkronize ettiğinde
sayacağım.
Örneğin, Apigee Edge'de aşağıdaki özelliklere sahip üç API ürünü olduğunu varsayalım: belirtilen kota aralıkları:
- Ürün A'nın dakikada 100 isteklik bir kotası vardır.
- Ürün B'nin saatlik 5.000 istek kotası vardır
- Ürün C'nin aylık 1000.000 istek kotası vardır
Bu kota ayarları göz önünde bulundurulduğunda Edge Microgateway quota
eklentisi
yapılandırılsın mı? En iyi uygulama, Edge Microgateway'i varsayılan olarak
değerleri, API ürünlerinde tanımlanan kota aralıklarından daha düşüktür. Örneğin:
quotas: bufferSize: hour: 2000 minute: 50 month: 1 default: 10000
Bu yapılandırma, açıklanan API ürünleri için aşağıdaki senkronizasyon aralıklarını tanımlar daha önce:
- Ürün A "dakika" olarak ayarlanmıştır seçebilirsiniz. Edge Microgateway, şundan sonra Edge ile senkronize edilecektir: veya 5 saniyede bir (hangisi önce gerçekleşirse)
- B Ürünü "saat" olarak ayarlanmıştır seçebilirsiniz. Edge Microgateway, şundan sonra Edge ile senkronize edilecektir: veya 1 dakikada bir (hangisi önce gerçekleşirse)
- Ürün C "ay" olarak ayarlanmıştır seçebilirsiniz. Edge Microgateway, şundan sonra Edge ile senkronize edilecektir: veya 1 dakikada bir yayınlayabilirsiniz.
Bir mikro ağ geçidi örneği Edge ile her senkronize edildiğinde, mikro ağ geçidinin kota sayısı, alınan kota sayısına ayarlandı.
bufferSize
ayarları, kota sayacının nasıl olacağını belirlemenize olanak tanır.
Edge ile senkronize edilir. Trafiğin yoğun olduğu durumlarda bufferSize
ayarları
arabellek sayacının varsayılan zamana dayalı senkronizasyon tetiklenmeden önce senkronize edilmesine izin verir.
Kota kapsamını anlama
Kota sayısı, bir kuruluştaki bir ortam olarak belirlenir. Bu kapsama ulaşmak için Edge Microgateway, "org + env + appName + productName".
Kota için Redis yedekleme deposu kullanma
Kota için bir Redis yedekleme deposu kullanmak üzere Senkronize edici özelliği. Aşağıda, Redis'i kullanmak için gereken temel yapılandırma verilmiştir. kota depolama:
edgemicro: redisHost: localhost redisPort: 6379 redisDb: 2 redisPassword: codemaster quotas: useRedis: true
edgemicro.redis*
parametreleriyle ilgili ayrıntılar için Senkronize ediciyi kullanma başlıklı makaleye bakın.
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.