消费者的并发控制filter
摘要:
本文讲解了Dubbo如何通过扩展的Filter控制消费者、提供者的接口并发数,如何通过原子类计数器统计并发数,如何进行控制。
如果消费者设置了这个参数:actives,则表示是该接口方法的最大并发调用数。
// 方法最大并发调用数
reference.setActives(5);
这里的并发控制主要是通过这个ActiveLimitFilter进行控制的,控制的原理也很简单,就是对每次这个方法的调用进行计数,然后在超过限额之后进行阻塞一小段时间。也就是在timeout这个时间段内,如果并发调用的次数超过,就是距离timeout的剩下时间内进行阻塞。
@Activate(group = CONSUMER, value