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

直播源码开发,分布式系统下的容错难到什么地步了

从传统存储系统到现代的分布式系统,能满足直播源码开发的场景需求越来越容易,但容错的难度却直线上升,本身分布式系统就会通过多个节点上运行或多个进程通过消息交换协作解决一个问题,由于故障的普遍存在,一个可用的分布式系统需要在故障发生的情况下仍然完成计算任务。

一、常见的故障类型

1、停止故障,属于对直播源码开发影响较轻的,指的是目标及其、服务、进程或某个子系统一旦故障就停止运行,在不考虑通信故障和延迟的情况下,它意味着心跳断等同于服务挂掉,很大程度上可以简化故障处理。

2、拜占庭故障,指的是目标可以表现任意的行为,包括但不限于故障停止、发送错误消息、计算出错、状态任意变化等,对于直播源码开发来说,拜占庭故障很常见,属于无法根治的那一种。

3、通信故障,典型的情况就是消息丢失,尤其是在直播源码开发高负载情况下很常见,通信故障通常通过消息重传,重试来解决,需要注意的是,在使用UDP协议时,基于UDP协议的特点,也可能存在或出现消息传输丢失的情况。

二、容错的其他相关性

直播源码开发的故障原因是印象容错的因素之一,其次还和同步、异步特性有关。

同步指的是系统各节点之间运行速率差异和消息传输延迟有上限,包括但不限于消息传输速度品滚,节点之间不可时钟漂移等,反之就是系统异步。

一般直播源码开发会采用心跳超时来判断故障的机制只有在同步的系统中才有意义,对一个异步系统采用超时机制,是不可取的,程序不能根据超时事件作出正确判断。

三、排序

对分布式系统来说,各个节点都是平等,不存在说谁先谁后,那么为了保证状态机的正常应用或保持状态机的一致性,通常都会使用这种方法,保证直播源码开发任意时刻各个副本状态都是一致的。

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

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com