首页 > 其他分享 >dubbo-ActiveLimitFilter

dubbo-ActiveLimitFilter

时间:2024-05-07 10:34:39浏览次数:23  
标签:dubbo 消费者 actives 并发 RpcStatus ActiveLimitFilter method

服务消费者端限流

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()方式阻塞请求或者唤醒请求。

 

标签:dubbo,消费者,actives,并发,RpcStatus,ActiveLimitFilter,method
From: https://www.cnblogs.com/use-D/p/18174395

相关文章

  • dubbo-AdaptiveLoadBalance
    AdaptiveLoadBalance使用AdaptiveLoadBalanceFilter初始化的数据。核心处理org.apache.dubbo.rpc.cluster.loadbalance.AdaptiveLoadBalance#selectByP2Corg.apache.dubbo.rpc.cluster.loadbalance.AdaptiveLoadBalance#chooseLowLoadInvokerorg.apache.dubbo.rpc.AdaptiveMet......
  • dubbo2.7.x版本下,服务调用时参数丢失问题
    问题:A服务调用B,C两个服务,在A调用之前RpcContext设置了业务上的透传参数,希望在本次调用全程,在任何地方都能获取到这个参数,但是在A调用完B后,该参数丢失。排查:代码中自定义实现了两个filter,分别时provider和consumer两个Filter,但里面都没有清空参数的逻辑。后面经过排查,dubbo有个......
  • dubbo-AdaptiveLoadBalanceFilter
    消费者端使用自适应负载方式dubbo负载方式介绍随机、循环负载平衡、最少活动、参数的一致性哈希、成功调用响应时间最短、自适应负载平衡AdaptiveLoadBalanceFilter内部使用ThreadPoolExecutor线程池处理,核心、最大线程数据为1,队列为1024个初始化ThreadPoolExecutor方式为双......
  • 中间件 ZK分布式专题与Dubbo微服务入门 8-6 使用tomcat启动dubbo服务
    0课程地址https://coding.imooc.com/lesson/201.html#mid=12744 1重点关注1.1本节内容使用tomcat启动dubbo服务tomcat启动dubbo服务的弊端    2课程内容2.1tomcat启动dubbo服务的弊端tomcat本身也是软件,占用内存  ......
  • Dubbo源码解读-Consumer消费端@Reference服务端引用流程
    上篇我们介绍了Provider端监听注册中心动态配置原理,地址如下Dubbo源码解析-Provider端监听注册中心动态配置原理-CSDN博客    本文主要针Dubbo消费端@Reference服务端引用流程原理,从dubbo源码角度进行解析。    大家可以好好仔细读一下本文。有疑问欢迎留言......
  • dubbo3.0 服务导入导出原理
    不管是服务导出还是服务引入,都发生在应用启动过程中,比如:在启动类上加上@EnableDubbo时,该注解上有一个@DubboComponentScan注解,@DubboComponentScan注解Import了一个DubboComponentScanRegistrar,DubboComponentScanRegistrar中会调用DubboSpringInitializer.initialize......
  • 深度剖析:Dubbo使用Nacos注册中心的坑
    2020年笔者在做微服务部件升级时,Dubbo的注册中心从Zookeeper切换到Nacos碰到个问题,最近刷Github又有网友提到类似的问题,就在这篇文章里做个梳理和总结。1、问题描述前几年我在做微服务部件升级时,将Dubbo的注册中心从Zookeeper切换到Nacos。切换的原因是有2点:Zookeeper保障了......
  • 微服务集成Spring Cloud Zipkin实现链路追踪并集成Dubbo
    1、什么是ZipKinZipkin是一个根据Google发表的论文“Dapper”进行开源实现的分布式跟踪系统。Dapper是Google公司内部的分布式追踪系统,用于生产环境中的系统分布式跟踪。Google在其论文中对此进行了解释,他们“构建了Dapper,以向Google开发人员提供有关复杂分布式系统行为......
  • 中间件 ZK分布式专题与Dubbo微服务入门 8-2 dubbo 入门简介
    0课程地址https://coding.imooc.com/lesson/201.html#mid=12740 1重点关注1.1本节内容dubbo环境搭建版本及入门简介 1.2环境版本要求dubbo2.5.3及其以上jdk6及其以上maven3及其以上 1.3为什么要用dubbo......
  • 中间件 ZK分布式专题与Dubbo微服务入门 7-3 zk命名空间以及创建节点
    0课程地址https://coding.imooc.com/lesson/201.html#mid=12732 1重点关注1.1本节内容使用curator递归创建节点 1.2关键代码//creatingParentsIfNeeded递归创建节点//withMode节点类型,永久or临时//withACL权限anyworld//path路......