zoukankan      html  css  js  c++  java
  • 流控

    流控更专业的叫法是:流量整形(traffic shaping),典型作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度向外发送。

    常见算法

    通常的做法就是通过建立一个缓存区或是令牌桶来实现。更具体的算法是:漏斗算法和桶令牌算法。

    漏斗算法就是有一个斗:数据往这个斗中流入,然后开一口,以一定的速度将这个斗中的数据流出,不支持任持续突发和最大突发,至于这个斗满了如何处理再说。
    桶令牌算法:一个存放令牌的桶,以一定的速度往这个桶生成令牌,数据流出先从这个桶中拿令牌,若是拿不到令牌就另行处理(具体自己设定)。

    桶令牌跟漏斗最大的区别在于可以支撑一个突然的流量变化,就是满桶令牌数的峰值。

    后来查了资料:google的guava也有一个类似的流控类:RateLimiter。不过这个不是基于流量的控制,更多是速度的控制,有点像TPS。

    RateLimiter的具体使用:http://java.dzone.com/articles/ratelimiter-discovering-google

    参考资料:

    http://7658423.blog.51cto.com/7648423/1576118

    http://colobu.com/2014/11/13/rate-limiting/

    http://baike.baidu.com/view/2530454.htm

    转自http://www.inter12.org/archives/962

  • 相关阅读:
    poj2756
    poj3425
    poj1740
    poj1948
    poj2853
    如何在CRichEditCtrl控件中直接读如RTF格式的文件
    pRichEdit>SetBackgroundColor(FALSE, oldclr); 只能设置一半 的背景色
    Directx报错02
    报错 error C2664: 'CreateWindowExA' : cannot convert parameter 2 from 'unsigned short [10]' to 'const char *'
    Debug/Release Dll报错
  • 原文地址:https://www.cnblogs.com/lmsthoughts/p/6397342.html
Copyright © 2011-2022 走看看