Nelerden kaçınmaya çalıştığınıza bağlıdır.
Gerçekten kritik bir hizmet olan bir şeyin herhangi bir hizmet kesintisinden kaçınmaya çalışıyorsanız ("API çağrım uygun şekilde sunulmazsa insanlar ölecek" açısından düşünüyorum) büyük ölçüde adanmış kaynakların sağlanmasından kaynaklanmaktadır. Ve evet onlar adanmış olmak zorunda, bunların hiçbiri trafik sivri şeyler için izin, birden fazla hizmet sivri böylece bir kesintiye neden olur.
Gelen çok daha olası bir senaryo sen hizmet istemci ve sunucu taraftan hem sorunu çözmek için sakıncalı olacağını aşağı gidiyor o. Çok fazla trafik sorununu gerçekten çözmenin mantıklı olarak imkansız olduğunu belirtmekle birlikte, trafiği (kaynakları tüketen) işlemeden, yeniden denemenin doğru olup olmadığını bilemezsiniz, başarılı ancak yanlış işlenmiş bir istek için yeniden denemek o vb DDOS, var Ama eğer istemci tarafından, sen yapabilirsiniz etkisini azaltmak.
Olarak müşteri kodu , bir üst limit ve incelikle başarısız için bir mekanizma bulunur mantıklı yeniden deneme mantığı yazmak. Bu şekilde, kullanıcılarınızı sonsuz sayıda başarısız istek döngüsüne sokmazsınız ve kısa bir süre içinde yaptıklarını denemelerini söyleyen bir hata verirsiniz.
Sizin için sunucu tarafında altyapısı basit çözüm gaz etmektir. İstekler üzerindeki zor sınırlar, özellikle bunları özel kullanım durumunuza göre mantıklı bir şekilde dağıtabilirseniz (ör. Merkezi bir hizmetiniz varsa bazı zor kararlar alırsanız, iş parçacıklarının askıya alınmasına neden olabilecek coğrafi olarak uzak istekleri engellemeye başlamak ister misiniz? Yoksa kaçınılmaz ancak küçük kesintinizi eşit olarak mı dağıtmak istiyorsunuz? vb.) Temel olarak, 503'ü bir ağ geçidinden kasıtlı olarak döndürmenin, isteğin geçmesine ve 504 göndermekten çok daha ucuz olduğu gerçeğine dayanır. neyse. Temel olarak, istemcileri şu anda verebilecekleriniz doğrultusunda davranmaya zorlayın ve istemcilerin uygun şekilde tepki verebilmesi için doğru yanıtları sağlayın.