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

2015-07-24 14:28:35 +08:00
 Mrun

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

3494 次点击
所在节点    PHP
6 条回复
pi1ot
2015-07-24 14:39:29 +08:00
消息队列就是用来解耦生产和消费的,消费不了的就慢慢消费啊,有什么问题?
Mrun
2015-07-24 14:44:05 +08:00
@pi1ot 主要是,如果Client的量大的话,同时进行视频下载会变得非常慢,不同地区的下载速度可能又不一致,需要动态的调节推送速度。。。。
linshuping
2015-07-24 15:08:49 +08:00
令牌桶
roricon
2015-07-24 15:29:43 +08:00
你得视频分发服务器也是分布式的么?
Mrun
2015-07-24 15:31:39 +08:00
@linshuping 多谢,我去看看相关资料
@roricon 视频服务器现在暂时不是分布式的
roricon
2015-07-24 15:39:54 +08:00
如果在client端做流量控制的话,我觉得会比较麻烦,在分发端读取队列然后push到client端感觉实现起来会比较简单
还有简单粗暴的解决方式,把要分发的视频文件放到云存储上,这样也就不需要做流控了……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/208050

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX