首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

直播软件源码,分布式限流存在的意义是什么

限流是对直播软件源码高并发访问进行限制、限速的过称,通过限流来限制资源,可以提高系统的稳定性和可靠性,控制系统的负载,削峰填谷,保证服务质量。常见的服务限流处理方式是拒绝服务、排队等待、服务降级,而限流可以分单机限流和分布式限流两种常见的。

一、单机限流

单机限流的表现形式较多,比如计数器、互动窗口、漏桶算法、令牌桶算法等。

1、计数器, 取固定大小的时间窗口,并在每个窗口时间内限制请求数量。只需要记录一个计数器,并在每个时间窗口结束时将其重置为零。每当请求进入系统时,我们都会将计数器加一,并检查它是否超过了限制的阈值。

2、滑动窗口,将一个窗口分为若干个等分的小窗口,每个小窗口对应不同的时间点,拥有独立的计数器。当请求的时间点大于当前窗口的最大时间点时,则将窗口向前平移一个小窗口。如果请求数量超过了小窗口的限制的阈值,则决绝该请求。

3、漏桶算法,属于直播软件源码强制限制请求速率的方式,但存在两个缺点:无法应对正常的突发流量,无法有效利用资源。

二、分布式限流

常见是redis令牌桶。

三、两种限流方式的对比

1、单机限流在单机上运行性能好,状态稳定,但对直播软件源码这种直播互动平台来说,就不如分布式系统的限流了,如果分布式系统使用单纯的单机限流,开启HPA后流量会处于半失控状态,如果扩容整个集群限流就会变大,缩容整个集群限流就会变小。

2、已有的分布式限流方案需要每次/每批请求都需要请求“阈值管理者”单点,增加了服务端的网络开销和不稳定因素,“阈值管理者”的稳定性也是影响结果的一个重要因素。

两者各有优缺点,而直播软件源码需要的自然是两者结合的优点。

四、聚合查询限流

属于前两者的结合方案,优点在于它的限流功能依赖于负载均衡,而直播软件源码恰恰需要负载均衡的帮助,这样能在原本直播软件源码需要的功能之外再开辟新的功能,减少支出。

声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OhdhtwIT92rwYoPe_MwlgaIw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券