dubbo-ActiveLimitFilter

服务消费者端限流

ActiveLimitFilter限制客户端对interface或method的并发客户端调用。

限流方式

从url中获取actives并发数量,actives大于0进行并发控制,actives小于等于0不控制。

消费者端使用RpcStatus下的ConcurrentMap<String, ConcurrentMap<String, RpcStatus>>存储每个method的调用状态。

在消费者端使用静态RpcStatus进行控制消费者并发。

重点内容

  • RpcStatus中维护原子性Integer的active变量,对其进行增减已达到控制并发的目标。
  • 内部使用双重锁机制控制消费者端每个method的RpcStatus状态。
  • 使用RpcStatus.wait()与RpcStatus.notifyAll()方式阻塞请求或者唤醒请求。

 

posted @   使用D  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示