Hi, 陆

If I understand correctly, you want to adjust the thread pool on Provider side 
dynamically by constantly checking the load of the Provider. I am not sure of 
the details of how to do to achieve that. But I think maybe it will be more 
meaningful if we can do that on the Consumer side, for example, all Consumers 
make sure that the the RPC request is send to the most idle Provider by 
checking the status of each Provider it can see. 

When the traffic is evenly distributed, the resource problem on the Provider 
side will be alleviated to some extend.

Jun

> On Jul 22, 2020, at 1:50 AM, 陆 錞斐 <[email protected]> wrote:
> 
> Hi, Jason
> 
> Thank you for your reply.
> 
> Maybe I didn't express it very clearly before. The introduction of other 
> systems such as Sentinel can indeed satisfy most scenarios. However, setting 
> a threshold such as qps requires experience and cannot be dynamically 
> adjusted. If the setting is unreasonable, the effect will not be ideal. 
> Moreover, when the number of services is huge, it is difficult to cover every 
> service.
> 
> My original intention was to enable Dubbo to protect itself, to ensure that 
> thread resources will not be exhausted and can be allocated reasonably.
> 
> Finally, thank you for your answers :)
> 
> 
> 
> ________________________________
> 发件人: Jason Joo <[email protected]>
> 发送时间: 2020年7月21日 23:27
> 收件人: [email protected] <[email protected]>
> 主题: Re: Adaptive thread isolation between services about Dubbo
> 
> Hi, 陆
> 
> The scenario you described in last post is more like a scene in which a 
> protector may participate in. General implementation includes hystrix[1], 
> sentinel[2], etc. . They can introduce abilities like flow control, traffic 
> shaping, circuit breaking to various systems including Dubbo, servlet, 
> gateway and so on. You can take a look and have a try with any of them to see 
> whether it can match your concern.
> 
> For your information :)
> 
> [1] Hystrix https://github.com/Netflix/Hystrix
> [2] Sentinel https://github.com/alibaba/sentinel/
> 
> best regards,
> 
> Jason
> 
>> On Jul 21, 2020, at 22:25, 陆 錞斐 <[email protected]> wrote:
>> 
>> Hello everyone, I'm trying to make a little contribution to Dubbo by adding 
>> a new feature. In this feature, threads can be allocated dynamically 
>> according to service invocations, so as to achieve thread isolation between 
>> services. In this way, we can set the minimum number of threads per service 
>> to prevent thread pool resources from being exhausted by some services and 
>> thus affecting other services.
>> 
>> Now the problem is how to set up an evaluation model according to the 
>> service call situation, such as QPS, RT, success, exception, reject, and so 
>> on, so as to reasonably allocate threads to each service.
>> 
>> I am lack of experience in this area, I hope you can give some suggestions, 
>> either algorithm or book is OK, thank you!
> 

Reply via email to