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

直播平台开发,直播平台的两段锁能带来什么样的加成

两端锁,很多直播平台开发运营商陌生的东西,它是指所有的事务必须分成两个阶段对数据进行加锁和解锁操作,一般它存在于系统的后台,不容易被发现,也不会有人注意到,但是却在事务调度上发挥了不小的作用,我们来看看直播平台开发使用两段锁能有什么表现。

一、两端锁协议

既然要给事务分成两段,那第一阶段就是获得封锁,事务可以获得任何数据项上的任何类型的锁,但是不能释放;进入二阶段后,开始进行释放封锁,事务可以释放任何数据项上的任何类型的锁,但是不能申请。可以看出,两个阶段把直播平台开发的任务分配和执行划分的相当明确。

第一阶段的封锁,也被称为扩展阶段,这个阶段需要进行加锁操作,对任何视距进行读取操作之前都要先申请获取S锁,在进行写操作之前要申请并获得X锁,如果加锁失败,则事务进入等待阶段,一直到加锁成功,这无疑会降低直播平台开发请求执行的时间。

第二阶段释放,也称为收缩阶段,事务被释放一个封锁后,事务进入封锁阶段,该阶段只能解锁不能加锁。

二、两端锁给事务处理带来的加成

在直播平台开发事务处理上,两端锁协议有自己的优势:

1、可串行,在直播平台开发面对高并发情况时,任务一个个加锁可太慢了,串行阶段下,多个事务串行调度,保证执行结果的一致,能大大提高平台的响应速度,但串行调度限制了系统并行的发挥,而且有些并行调度不具有串行调度的结果

2、两端锁独有的协议,对任何数据进行读、写操作,首先要申请并获得该数据的封锁;直播平台开发在释放封锁后,事务不能在申请获得其他任何的锁

这也就是回到了开始我们说的封锁和释放上,只是执行的会更简单,没有那么复杂而已。

两端锁的应用范围很窄,对于直播平台开发来说,可能会用不到,但是不能忽视它可以带来的效果,所以平台需要根据自己的需求判断是否真的会用到该协议。

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

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券