dubbo-AdaptiveLoadBalanceFilter

消费者端使用

自适应负载方式

dubbo负载方式介绍

随机、循环负载平衡、最少活动、参数的一致性哈希、成功调用响应时间最短、自适应负载平衡

AdaptiveLoadBalanceFilter

内部使用ThreadPoolExecutor线程池处理,核心、最大线程数据为1,队列为1024个

初始化ThreadPoolExecutor方式为双重锁方式:

处理方式

处理成功后把对应的接口method存储到AdaptiveMetrics对象中,存到ConcurrentMap<String, AdaptiveMetrics> metricsStatistics变量中。

查询cpu负载、rt、currentTime、currentProviderTime等数据,计算处理ewma值。

在onResponse处理后,把上面的参数存储到AdaptiveMetrics中,以供AdaptiveLoadBalance使用。

 

posted @ 2024-05-06 13:55  使用D  阅读(9)  评论(0编辑  收藏  举报