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

直播系统搭建,引入什么能让系统可用性更强

关于扩展性上,直播系统搭建往往会选择负载均衡器,负载均衡是直播系统不可缺少的一环,在此基础上做扩展能节省不少事,但负载均衡器也有自己的缺点,比如必须有会话保持这一项,依靠回话保来纠正负载均衡器带来的错误部分,那么除了负载均衡器外,还有什么能快速增加扩展性呢。

一、冗余

在直播系统搭建引入负载均衡器后,所有请求都要先经过负载均衡器,负载均衡器就成为了网络拓扑结构中脆弱的单点,一旦发生故障,其相关的服务都无法访问了,为了避免这种单点故障,可以引入冗余,一般这种情况有两个故障转移方案:

1、主动-被动,主动的工作,被动的备用,主动的down掉后被动的顶上

2、主动-主动,同时工作,一个down掉后不产生影响

理论上直播系统搭建可以通过可靠的负载均衡机制,将1台服务器轻松扩展到n台,然而,n台服务器仍然使用同一数据库的话,数据库就会成为系统性能和可靠性的瓶颈,毕竟数据库也有自己的上限。

想要避免这种情况直播系统搭建同样可以通过扩展数据库实现,也就是引入冗余,同样有两种模式:

1、主从复制,主库直接读写,从库在主库收到查询时,执行相同的查询,如果主库down掉了,就在从库里面提升一个作为主库

2、主主复制,都可以写,写操作也会被复制到另一个库中

二、缓存辅助

上面我们也说到,直播系统搭建可能会因为数据库上限影响到性能,那就通过缓存的应用减轻数据库压力,尽可能减少数据库操作,缓存模式一般用缓存查询结果、缓存对象两种方法。

缓存对象是指缓存根据原始数据组装出的数据模型,优势在于直播系统搭建获知数据变化之后,能够丢弃与之具有逻辑关联的数据对象,从而解决缓存过期难题。

三、异步处理

对于直播系统搭建web服务而言,提升可扩展性的主要途径就是将耗时的同步工作改成异步处理,从而允许将这些工作给更多的模块去做,或者提前完成能够预知的部分。

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

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券