Apigee Edge belgelerini görüntülüyorsunuz.
.
Git:
Apigee X belgeleri. bilgi
Günlük kaydı, sorunları ayıklamak için etkili yöntemlerden biridir. API hakkında bilgiler üstbilgiler, form parametreleri, sorgu parametreleri, dinamik değişkenler vb. tüm istekler referans olabilir. Bilgiler, Mesaj İşlemcilerinde yerel olarak günlüğe kaydedilebilir (yalnızca Private Cloud için Apigee Edge) veya Sumo Logic, Splunk veya Loggly gibi üçüncü taraf sunuculara bağlayabilirsiniz.
Antipattern
Aşağıdaki kodda, JavaScript politikasındaki httpClient
nesnesi, verileri bir
Sumo Logic sunucusu. Bu, günlük kaydı sürecinin aslında
istek/yanıt işleniyor. Bu yaklaşım, veri işleme sürecini hızlandırdığı için verimsizdir.
genel gecikmeler artıyor.
LogData_JS:
<!-- /antipatterns/examples/1-4.xml --> <Javascript async="false" continueOnError="false" enabled="true" timelimit="2000" name="LogData_JS"> <DisplayName>LogData_JS</DisplayName> <ResourceURL>jsc://LogData.js</ResourceURL> </Javascript>
LogData.js:
<!-- /antipatterns/examples/1-5.xml --> var sumoLogicURL = "..."; httpClient.send(sumoLogicURL); waitForComplete();
Buradaki neden, waitForComplete()
numaralı telefona yapılan aramadır. Bu çağrı, arayanın
işlemleri devam ettirir. Geçerli bir kalıp, bunu eşzamansız hale getirmektir
iptal edebilirsiniz.
Etki
- Günlük kaydı kodunun JavaScript politikası üzerinden yürütülmesi API'nin gecikmesini artırır isteğinde bulunabilirsiniz.
- Eşzamanlı istekler, Mesaj İşleyici'deki kaynakları strese atabilir ve bunun sonucunda diğer isteklerin işlenmesini olumsuz yönde etkiler.
En İyi Uygulama
- Verileri Günlük sunucularına veya üçüncü taraf günlüğüne aktarmak/günlük oluşturmak için MessageLogging politikasını kullanın. ve yönetim hizmetlerini (ör. Sumo Logic, Splunk, Loggly vs.)
- Message Logging politikasının en büyük avantajı, İstemci Akışı, yanıt istekte bulunan istemci uygulamasına geri gönderildikten sonra yürütülür.
- Post Client akışında bu politikanın tanımlanması, günlük kaydı etkinliği ile Böylece gecikmelerden kaçınmış olursunuz.
- JavaScript üzerinden günlük kaydı yapılması gerekiyorsa (
istemci akışı seçeneği) eşzamansız olarak yapılması gerekir. Başka bir deyişle,
bir
httpClient
nesnesi kullanıyorsanız JavaScript'inwaitForComplete
UYGULAMANIZI