जावा सर्वलेट में, मैं क्लाइंट के आईपी पते के आधार पर उपयोगकर्ताओं से आने वाले http अनुरोधों को कैसे थ्रोट कर सकता हूं? मैं एक विशेष स्रोत आईपी पते से प्रति सेकंड एक्स अनुरोधों से अधिक सेवा नहीं करना चाहता हूं, जहां एक्स कॉन्फ़िगर करने योग्य है और व्यावहारिक मान [0.1; 10] रेंज (प्रति सेकंड 10 से 10 अनुरोधों में 1 अनुरोध से)।जावा सर्वलेट में थ्रॉटल HTTP अनुरोध
उत्तर
मैं उस कार्य के लिए एक फ़िल्टर लिखूंगा।
एक सर्वलेट फिल्टर का उपयोग करें: यदि आप जेट्टी 7.0 पर हैं या उच्चतर वहाँ this
है @EJP ने कहा, एक HashMap कि आईपी पते कुंजी द्वारा पिछले उपयोग समय संग्रहीत करता है के साथ एक फिल्टर का उपयोग कर। एक दूसरे के अनुरोध 10 कॉल के बीच 100ms का अनुवाद करेंगे, न्यूनतम। एक सर्वर व्यस्त त्रुटि कोड को वापस भेजना और अनुरोध को मारना कनेक्शन द्वारा उपयोग किए जाने वाले संसाधनों को जल्दी से बंद कर देगा। अपाचे के लिए प्रीबिल्ट समाधान हैं यदि यह आपके लिए एक विकल्प है।
जांचें कि क्या आप जिस कंटेनर का उपयोग कर रहे हैं, वह इस तरह की अस्वीकार सेवा प्रदान करता है। यदि नहीं, तो आपको फ़िल्टर के साथ जाना होगा।
ServletRequest.getRemoteHost() आपको क्लाइंट आईपी तक पहुंच प्रदान करता है।
कोड.google.com पर होस्ट की गई ओवास्प-एसापी-जावा परियोजना में थ्रॉटल फ़िल्टर का कार्यान्वयन होता है जिसे आप "जैसा है" का उपयोग कर सकते हैं या अपने लिए प्रेरणा के रूप में उपयोग कर सकते हैं।
आप नीचे दिए गए लिंक पर कोड की जाँच कर सकते हैं:
- 1. HTTP सुरंग सर्वलेट (जावा)
- 2. जावा-सर्वलेट अनुरोध .getParameterValues ()
- 3. पढ़ें ब्राउज़र/से Http सर्वलेट अनुरोध हेडर
- 4. जेएसपी/सर्वलेट कैसे पहचानें कि HTTP अनुरोध AJAX अनुरोध
- 5. जावा: http पोस्ट अनुरोध
- 6. जावा सर्वलेट
- 7. HTTP स्थिति 405 - HTTP विधि POST इस यूआरएल जावा सर्वलेट
- 8. जावा में एक सर्वलेट
- 9. एंड्रॉइड, जावा: HTTP पोस्ट अनुरोध
- 10. जावा सर्वलेट
- 11. जावा सर्वलेट
- 12. कैसे जावा सर्वलेट कंटेनर
- 13. जावा सर्वलेट में अनुरोध से डोमेन नाम कैसे प्राप्त करें?
- 14. जावा सर्वलेट में निष्पादक सेवा
- 15. जावा सर्वलेट
- 16. http अनुरोध
- 17. जावा सर्वलेट थ्रेडिंग मॉडल
- 18. जावा/सर्वलेट: वर्तमान sql.Date
- 19. जेएमटर HTTP अनुरोध
- 20. HTTP अनुरोध mikeal की 'अनुरोध'
- 21. .NET थ्रॉटल एल्गोरिदम
- 22. node.js में http अनुरोध भेजना
- 23. जावा सर्वलेट - सत्र सफाई (HttpServletRequest)
- 24. जावा में HTTP अनुरोध का विश्लेषण कैसे करें?
- 25. आने वाले सर्वलेट अनुरोध url को बदलने के लिए जावा में सर्वलेट फ़िल्टर का उपयोग कैसे करें?
- 26. लाइट जावा सर्वलेट कंटेनर
- 27. डब्ल्यूसीएफ सेवाओं में अनुरोधों की थ्रॉटल संख्या
- 28. जावा एनआईओ सर्वलेट
- 29. जावा सर्वलेट कंटेनर प्रदर्शन?
- 30. जावा (जेएसपी/सर्वलेट): .jsp