直播软件搭建,万能的分布式也会被难题拿下

直播软件搭建接触分布式系统后,平台更多看到的是它的优点,由于给平台带来的提升过大,导致很多人都忽略了它的缺点,分布式系统和其他系统一样,都会因为当前不同的环境面临不同的问题,我们来看看直播软件搭建都应该为哪些方面准备解决方案。

一、跨地域问题

当直播软件搭建前端的ajax访问当前页面所在的系统服务接口时,不会出现问题,但是在完成访问后,正常的请求、返回结束后,平台却不允许展示,影响到了用户或平台对此次请求成功与否的判断。解决方案:

用Nginx或zuul实现反向代理,请求会全部打到反向代理服务器,再通过反向代理服务器发送请求,返回给ajax,这对于直播软件搭建的后台来说,是通过一个系统jsonp实现的,所以会正常显示。

二、任务调度

一般这个问题只会出现在分布式系统中,由于分布式系统下各个节点之间都是相同的,包括权限、可用资源、具备能力等,就导致同一个定时任务也会被分成若干份,在不同的节点同时进行,这会造成资源上的浪费。解决方案:

通过使用xxi-job调度中心进行统一调度,保证同一时间相同任务只会被一个节点执行。

三、分布式事务

在直播软件搭建某个功能进行更改后,和他相关的功能会接受到来自功能更改后的新包,这个包会替换之前的包,都完成后,反馈结果给主服务器,但是传输中出现错误,服务器没有收到反馈,就会出现,这个功能后台已经更新了,但前台点击后没有变化。解决方案:

四、分布式锁

当多个线程同时对一个变量进行读写操作时,就会产生线程安全问题,所以直播软件搭建需要给资源加一个锁。解决方案:

只有锁还不够,为了防止直播软件搭建的某个节点长时间霸占资源的情况,还要加上访问时间限制,到时间后,当前访问者会被强制踢出去,然后按照顺序,后面的访问者继续访问,当然也可以在访问快结束时再次请求访问,保证能完成当前的请求。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年9月10日
下一篇 2022年9月10日

相关推荐