dubbo-AdaptiveLoadBalanceFilter
消费者端使用
自适应负载方式
dubbo负载方式介绍
随机、循环负载平衡、最少活动、参数的一致性哈希、成功调用响应时间最短、自适应负载平衡
AdaptiveLoadBalanceFilter
内部使用ThreadPoolExecutor线程池处理,核心、最大线程数据为1,队列为1024个
初始化ThreadPoolExecutor方式为双重锁方式:
处理方式
处理成功后把对应的接口method存储到AdaptiveMetrics对象中,存到ConcurrentMap<String, AdaptiveMetrics> metricsStatistics变量中。
查询cpu负载、rt、currentTime、currentProviderTime等数据,计算处理ewma值。
在onResponse处理后,把上面的参数存储到AdaptiveMetrics中,以供AdaptiveLoadBalance使用。
收藏文章数量从多到少与“把书读薄”是一个道理