在RPC框架中很重要的部分就是请求量的限制,每个机器能够处理的请求数量是有上限的,所以设置一个能处理的上线,将不能处理的请求拒绝总是正确的。

请求类型

Pigeon中请求的处理是采用一个责任链的模式,Netty服务器中将接受的请求序列化成Request对象,然后抛到Pigeon的责任链中处理。Pigeon将请求分为四个类型(参见ProviderProcessHandlerFactory)

业务逻辑 bizInvocationHandler

心跳检查 heartBeatInvocationHandler

健康检查 healthCheckInvocationHandler

心跳扫描 scannerHeartBeatInvocationHandler

处理流程

每一个handler通过一个filter列表为构建参数创建

重点关注这里的bizInvocationHandler,这个实例就是业务逻辑处理的主体。那么本文要讲的限流是如何实现的呢?

就是在GatewayProcessFilter内部

methodAppLimitMap //GatewayProcessFilter内部存储每个method对应的请求上线
ProviderStatisticsHolder :  methodCapacityBuckets    存储了每个method的请求量

当请求量大于限制时就会抛出异常

if (requests + 1 > limit) {throw new RejectedException(String.format("Max requests limit %s reached for request from app:%s", limit, fromApp));
}

Pigeon中的流量限制相关推荐

  1. 免费下载 |《数字广告投放中虚假流量的排查与判定》白皮书重磅发布

    "我在广告上的投入有一半是无用的,但我不知道是哪一半." 20 年前约翰•沃纳梅克(John Wanamaker)的观点揭露业界精准营销的短板,20 年后的今天依旧深刻: 世界广告 ...

  2. 浅谈网络通信中的流量整形

    前言 在前面的<浅谈网络通信中的 ACK.NACK 和 REX>一文中,我们知道了网络通信中的丢包重传的相关理论和方法,既在网络发生丢包的情况下的补救措施,本文则往前进一步,介绍下如何通过 ...

  3. 华为hcie中QOS 流量整形 双速率的概念-ielab

    华为hcie中QOS 流量整形 双速率的概念-ielab 前面介绍了思科QOS中流量整形,今天介绍一下华为流量整形过程中令牌桶机制. 在华为设备中,需要对流量整形的概念需要进行解释: CIR,comm ...

  4. 华为hcie中QOS 流量整形 双速率的概念-ielab实验室

    华为hcie中QOS 流量整形 双速率的概念-ielab实验室,前面介绍了思科QOS中流量整形,今天介绍一下华为流量整形过程中令牌桶机制. 在华为设备中,需要对流量整形的概念需要进行解释: CIR,c ...

  5. 分析Google Analytics中的流量来源

    <strong>对学习 google analytics 很有帮助,转载如下:</strong> 最近在查看一个网站的数据时发现,该网站流量来源中直接流量部分占了40%.这说明 ...

  6. SoftPerfect NetWorx中管理流量和宽带设备工具

    SoftPerfect NetWorx中管理流量和宽带设备工具 NetWorx是用于在Windows中管理流量和宽带设备的简单工具和实用程序.如果我们利用交通设施,毫不拖延地利用教育系统,以及与各种驾 ...

  7. 怎样在时间敏感网络(TSN)中进行流量捕获?

    随着工业物联网和工业4.0的兴起,在如今的工业自动化领域对于延迟的要求更加严格.但现有的自动化系统大多是用传统的以太网实现的,无法满足未来的工业网络需求.幸运的是时间敏感网络的出现满足了这一需求,代表 ...

  8. 在服务器托管中对流量和带宽进行限制

    在签订服务器托管合同时会涉及到限制流量和带宽吗?这两个究竟有什么不同? 限制通信量和限制带宽. 限流和带宽限制有什么不同?"不限制流量"在服务器托管合同中写的好或不好?看起来没有限 ...

  9. 如何在Linux下统计高速网络中的流量

    在Linux中有很多的流量监控工具,它们可以监控.分类网络流量,以花哨的图形用户界面提供实时流量分析报告.大多数这些工具(例如:ntopng , iftop )都是基于libpcap 库的 ,这个函数 ...

  10. Nginx的配置中与流量分发相关的配置规范:

    1.除首页外,其他页面都在某个目录中 首页可以直接在根目录下,其他页面都要在根目录下的目录中. 不同的location尽量使用第一个dir的模式进行区分,便于区分该流量是落在nginx本地,还是转发到 ...

最新文章

  1. 这本书让我摆脱了被数学支配的恐惧!
  2. Python模块包中__init__.py文件的作用
  3. vue 数组数据改变 视图不更新解决方案
  4. python while九九乘法表儿歌_python使用while循环实现九九乘法表
  5. LTR学习排序 Learning to Rank 小结
  6. 电脑桌面便签_电脑桌面便签软件哪个好
  7. Quartus中Tools->Netlist Viewers->RTL Viewer
  8. office2016风格后台管理系统html模板下载-uimaker设计
  9. CH341A BIOS编程器 预安装成功 但无安装成功
  10. c语言题库-礼炮声响次数,c语言题库与答案精华版资料.doc
  11. ①编写一个程序,实现文件的复制。②写一个加密程序,对文件1.txt进行加密。它从输入流中读入一个密钥,并将文件密文输出。③ 编写一个应用程序,向数据文件out.dat中输入100个1000以内的随机整
  12. 什么是电感器与电感?
  13. Springboot 406错误
  14. java分页用到的控件,laypage分页控件使用方法
  15. Va02 修改数量和价格条件时报错
  16. python启动浏览器崩溃
  17. Node的数据库编程
  18. 中国人都应记住的“中国”一百句名言
  19. 计算机工程师自荐信英语作文,工程师英文求职信范文
  20. 茗创:脑电数据处理业务

热门文章

  1. 常见手机病毒学习总结
  2. javaweb qq空间(博客)项目超详细开发套路原理分析
  3. 171-辽宁移动魔百盒CM211-1-YS-S905L3B-RTL8822C线刷包
  4. 计算机经常显示的英语单词,计算机专业英语单词大全
  5. mysql的month_MySQL month()函数
  6. Android Sunflower 带您玩转 Jetpack
  7. QT实现MP3播放器的歌词同步显示(卡拉OK功能)
  8. Ubuntu 18.04 firefox浏览器装flash
  9. html隐藏或显示不出来,win7隐藏文件显示不出来
  10. 【XA.DAY.4】网络安全体系与模型