<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Rate Limiting and Degradation on Apache Dubbo</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/</link><description>Recent content in Rate Limiting and Degradation on Apache Dubbo</description><generator>Hugo</generator><language>en</language><atom:link href="https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/index.xml" rel="self" type="application/rss+xml"/><item><title>Use Sentinel to Handle Surging Traffic and Protect Your Application</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/sentinel/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/sentinel/</guid><description>&lt;p>In complex production environments, thousands of Dubbo service instances may be deployed, with continuous incoming traffic and inter-service calls. However, distributed systems may experience unavailability of certain services due to a surge in traffic, high system load, network latency, etc. If appropriate controls are not in place, it can lead to cascading failures that impact service availability. Therefore, how to reasonably control traffic has become key to ensuring service stability.&lt;/p></description></item><item><title>Dubbo Framework's Built-in Concurrent Control Strategy</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/concurrency-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/concurrency-control/</guid><description>&lt;p>Dubbo has implemented a built-in concurrency control strategy through the Filter interceptor mechanism. It limits the number of concurrent requests from the same client to the same service, preventing malicious requests from overloading the server, ensuring service stability, and preventing excessive resource usage.&lt;/p>
&lt;ul>
&lt;li>Control the maximum concurrent requests for certain services to ensure the availability of resources for other services. Prevent system overload and ensure system stability.&lt;/li>
&lt;li>Allow for smoother service scaling when demand increases.&lt;/li>
&lt;li>Ensure service reliability and stability during peak usage times.&lt;/li>
&lt;/ul>


&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Note&lt;/h4>

 This method requires users to accurately pre-assess the number of concurrent requests the system can handle, and accurately determining system capabilities is not an easy task. Therefore, Dubbo also provides an adaptive rate limiting mode, which automatically identifies system health based on system load and provides rate limiting protection. You can view the &lt;a href="../adaptive-concurrency-control">adaptive rate limiting mode documentation&lt;/a> here.

&lt;/div>

&lt;h2 id="rate-limiting-strategy-configuration">Rate Limiting Strategy Configuration&lt;/h2>
&lt;h3 id="limit-server-side-concurrent-execution-service-granularity">Limit Server-Side Concurrent Execution (Service Granularity)&lt;/h3>
&lt;p>Limit the concurrent execution (or occupied thread pool threads) for each method of &lt;code>com.foo.BarService&lt;/code> to a maximum of 10.&lt;/p></description></item><item><title>Adaptive Flow Control</title><link>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/adaptive-concurrency-control/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://deploy-preview-3199--dubbo.netlify.app/en/overview/mannual/java-sdk/tasks/rate-limit/adaptive-concurrency-control/</guid><description>&lt;p>For the design and implementation ideas of adaptive flow control, please refer to &lt;a href="https://deploy-preview-3199--dubbo.netlify.app/en/overview/reference/proposals/heuristic-flow-control/">Dubbo Adaptive Flow Control Function&lt;/a>. Adaptive flow control can ensure the stability and reliability of distributed systems, especially in scenarios where service provider resources are limited and variable.&lt;/p>
&lt;h2 id="use-cases">Use Cases&lt;/h2>
&lt;ul>
&lt;li>Service Degradation Prevention: When service providers face performance degradation due to resource exhaustion, adaptive flow control temporarily reduces the number of requests it accepts until normal operations resume.&lt;/li>
&lt;li>Peak Traffic Handling: When service traffic surges suddenly, adaptive flow control can help prevent service overload by dynamically reducing the number of accepted requests.&lt;/li>
&lt;li>Unpredictable Traffic Handling: Service providers may encounter unpredictable traffic, and third-party applications may occasionally generate traffic while using the service. Adaptive flow control can adjust the maximum allowed concurrent requests based on current system load to prevent overload.&lt;/li>
&lt;/ul>
&lt;h2 id="implementation">Implementation&lt;/h2>
&lt;p>The setup method is similar to static maximum concurrency value settings; simply set the flowcontrol parameter on the server side. There are two optional values:&lt;/p></description></item></channel></rss>