dev-tools
Sözlük ↗İstek Yinelenmesini Ayıklama
İstek yinelenmesini ayıklama, gelen bir isteğin hâlihazırda yürüyen ya da tamamlanmış bir isteğin tekrarı olduğunu tanıyıp işi yeniden yapmak yerine var olan sonucu döndürme uygulamasıdır. Çoğu ölçütte görünmeyen bir savurganlık türünü ele alır: sistem meşgul ve sağlıklı görünür, oysa yaptığı işin kayda değer bir bölümü daha önce yapılmıştır. Yinelemeler öngörülebilir yerlerden gelir. İstemciler, aslının başarılı olup olmadığını bilmeden zaman aşımında yeniden dener. Kullanıcılar yanıt yavaş olduğunda düğmeye iki kez basar. En az bir kez teslim sunan kuyruklar, bir tüketici yeniden başladıktan sonra mesajları yeniden iletir. Yük dengeleyiciler ve ağ geçitleri, idempotent görünen istekleri yeniden dener. Ve birkaç kullanıcı aynı anda aynı soruyu sorabilir; bu, destek araçlarında ve şirket içi asistanlarda sıradandır. Standart düzenekler türe göre değişir. İstemcinin sağladığı bir idempotentlik anahtarı, sunucunun belirli bir işlemin yeniden denemesini tanıyıp işi iki kez yapmak yerine ilk sonucu döndürmesini sağlar; para tahsil eden ya da kayıt oluşturan her şey için gereklidir. Uçuştaki isteklerin birleştirilmesi, eşzamanlı özdeş istekleri sonucu tüm bekleyenlere dağıtılan tek bir yürütmeye indirger; bir önbellek ıskasının izdihama dönüşmesini engelleyen budur. Zamana yayılmış tekrarları ise bir sonuç önbelleği karşılar. Yapay zekâ özelliklerinde ayıklama alışılmadık ölçüde değerlidir, çünkü her yürütme pahalı ve yavaştır. Bir saniye arayla aynı soruyu soran iki kullanıcı, istemci zaman aşımından sonra yeniden denenen bir üretim, tek döngüde aynı aracı iki kez çağıran bir ajan — her yineleme tam bir çıkarıma mal olur. İstek gövdesinde tam eşleşmeye dayalı ayıklama ucuz ve güvenlidir. Neredeyse aynı soruların bir yanıtı paylaştığı anlamsal ayıklama daha çok kazandırır ama tam olarak sorulmamış bir soruya yanıt döndürme riski taşır; bu yüzden tutucu bir benzerlik eşiği ve net bir kapsam ister. Onu güvenli tutan şey doğruluk kurallarıdır. Yalnızca tekrarı gerçekten gereksiz olan işlemleri ayıklayın; her seferinde yeni bir kayıt üretmesi gereken bir istek birleştirilmemelidir. Sonuçlar izne bağlıysa anahtarı kiracıya ve kullanıcıya göre kapsayın; kiracı sınırını aşan ayıklanmış bir yanıt bir veri sızıntısıdır. Pencereyi, bayat yanıtlar yararlılıklarını aşmayacak kadar kısa tutun ve başarısız bir yürütmenin başarılıymış gibi önbelleğe alınmadığından emin olun. Son olarak ölçün. Yineleme oranı bir tasarruf olduğu kadar bir tanıdır: ani bir yükseliş genelde bir istemcinin fazla saldırgan yeniden denediğini ya da bir zaman aşımının işlemin gerçek gecikmesinin altına ayarlandığını gösterir; bunu yukarı akışta düzeltmek, yinelemeleri aşağı akışta soğurmaktan iyidir.
İlgili terimler