V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Mrun
V2EX  ›  PHP

消息队列根据负载自动调节推送速度

  •  
  •   Mrun · 2015-07-24 14:28:35 +08:00 · 3597 次点击
    这是一个创建于 3403 天前的主题,其中的信息可能已经有所发展或是发生改变。

    采用的是Swoole +Redis 做MQ的,应用场景是消息队列通知Client下载视频广告,由于各个Client所在地的网速等不同,视频分发服务器的带宽也无法承担大量的Client同时下载,因此要根据视频分发服务器的压力带宽等综合因素,动态的调节消息队列的推送。现在就是没有很好的思路来解决这个动态调节推送速度问题,希望能在V2有高人指点一下。。。。

    6 条回复    2015-07-24 15:39:54 +08:00
    pi1ot
        1
    pi1ot  
       2015-07-24 14:39:29 +08:00
    消息队列就是用来解耦生产和消费的,消费不了的就慢慢消费啊,有什么问题?
    Mrun
        2
    Mrun  
    OP
       2015-07-24 14:44:05 +08:00
    @pi1ot 主要是,如果Client的量大的话,同时进行视频下载会变得非常慢,不同地区的下载速度可能又不一致,需要动态的调节推送速度。。。。
    linshuping
        3
    linshuping  
       2015-07-24 15:08:49 +08:00
    令牌桶
    roricon
        4
    roricon  
       2015-07-24 15:29:43 +08:00
    你得视频分发服务器也是分布式的么?
    Mrun
        5
    Mrun  
    OP
       2015-07-24 15:31:39 +08:00
    @linshuping 多谢,我去看看相关资料
    @roricon 视频服务器现在暂时不是分布式的
    roricon
        6
    roricon  
       2015-07-24 15:39:54 +08:00
    如果在client端做流量控制的话,我觉得会比较麻烦,在分发端读取队列然后push到client端感觉实现起来会比较简单
    还有简单粗暴的解决方式,把要分发的视频文件放到云存储上,这样也就不需要做流控了……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 20:10 · PVG 04:10 · LAX 12:10 · JFK 15:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.