一、备份
直播平台制作想要实现高可用,备份是必不可少的,备份的优点是延迟低、吞吐量高,但缺点是可能出现数据丢失,而且面对直播平台制作出现的故障时,切换需要一定的停机时间。
不论什么样的系统,定期备份是很有必要的,要知道就算是全部数据备份,真正还原的时候也可能存在数据丢失的情况,原因在于:为了节省空间,直播平台制作会按照一定周期进行备份,所以发生数据丢失的情况下,一般会从最近备份的时间点恢复,比如平台上次备份是三天前,那从备份后三天的内容将不会被还原;备份数据也存在兼容问题,不同备份之间,直播平台制作数据的组织结构会发生改变。
二、两阶段提交协议
与备份相比,两阶段提交协议具有较高的延迟和较低的吞吐量,但是不会发生数据丢失的情况,可以做到实时切换,这种协议主要基于直播平台制作分布式一致性算法,能够保证多台服务器上的操作或全部成功或全部失败。
看到这里相信大家也明白了这种协议的缺点,基于分布式结构的特点,尽管理论上说各个节点之间保持一致,但也只是在一致性、隔离性、持久性上一样,并不能实现完全一致,也就是说各个节点之间并不知道其他节点在干什么,这样直播平台制作如果想保持各个节点的一致性,就只能让数据操作全部执行或全部不执行,通常是直播平台制作通过建立一个协调者来统一调度所有分布式节点执行。
三、Paxos算法
属于早期提出的一种基于消息传递且具有高度容错性的一致性算法。该算法用于保证一份数据中多个副本之间的数据一致性。
通过选举的方式,利用少数服从多数的思想解决这个问题,根据节点数哪些同意哪些不同意做对比,一旦决定不会再改变,这样直播平台搭建不需要与所有服务器通信,可以只选择大部分服务器通信,也不需要所有服务器都在工作状态,只需要保证半数以上的服务器正常即可。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任
领取专属 10元无门槛券
私享最新 技术干货