平衡多个 icecast 服务器的负载

平衡多个 icecast 服务器的负载

我接到了一项任务,要为一个互联网广播电台平衡多个 icecast 服务器的负载。但经过几个小时的研究,我完全陷入了困境,不知道如何平衡它们的负载。

我曾尝试将用户重定向到不同的流,但我们的听众使用的某些软件不支持重定向。

我想到的另一种选择是使用轮询 DNS,但这似乎不是一个好主意,因为有些客户端不遵守 TTL 并将服务器缓存数天

如果有人能给我指明正确的方向,那就太好了!提前感谢你的帮助。

答案1

RR-DNS 是针对此问题最简单且合理有效的解决方案。

一些客户端会将结果缓存更长时间,但这一事实在统计上无关紧要。最终结果将大致均匀分布。无论如何,您都不想让服务器连接达到最大限度。

顺便说一句:我希望互联网广播有充分的理由进行平衡。单个 Icecast 实例可以轻松扩展到超过 10,000 名听众(仅受服务器网络带宽的限制)。我一直看到平均听众不到 200 人的广播担心这一点,这只是浪费精力。

附言:我有点惊讶,仍然有客户端在 301/302 上崩溃,能说出它们的名字吗?我们可能想通过 Xiph.org / Icecast 项目来联系它们。

相关内容