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

直播开发APP,百变的资源隔离策略

资源隔离是直播开发APP必过的门槛,业务分类是最基本的标准,每个分类都有不同的模块负责,在未进行模块划分时,容器中的线程数量会持续增加导致CPU资源耗尽,整个直播开发APP的服务对外不可用,集群环境下就会出现雪崩,这就很有必要让多个依赖服务的调用分别隔离到各自的资源池内。

一、线程隔离

适用于绝大多数的场景,对依赖服务的网络调用timeout,TPS要求高等。

执行依赖代码的线程与请求线程分离,请求线程可以自由控制离开时间,也就是异步变成。线上建议线程池不要设置过大,否则大量堵塞线程有可能会拖慢服务器。

线程池隔离的优缺点:

优点,一个依赖调用可以给予一个线程池,这个依赖的异常不会影响其他依赖;使用线程可以完全隔离业务代码,请求线程可以快速返回;可以完全模拟异步调用,方便异步变成

缺点,使用线程池的缺点主要是增加了计算的开销,每一个依赖调用都会涉及到直播开发APP的队列,调用、上下文切换,这些操作都可能在不同的线程中执行

二、信号量隔离

直播开发APP用于隔离本地代码或可快速返回的远程调用,可以直接使用信号量隔离,降低线程隔离的上下文切换开销。线程隔离会带来线程开销,有些场景可能会因为用开销换取隔离效果,反而得不偿失。

使用场景:并发需求不大的依赖调用,如果并发需求量大,相应的信号量数量就要设置的够大,因为tomcat线程与处理线程为同一个线程,那么依赖调用就会占用过多的Tomcat线程资源,这可能会影响到直播开发APP其他服务的接收

针对直播开发APP的不同需求,平台可选择的资源隔离也有一定的局限,并不想其他方面一样有多种方案,所以直播开发APP需要慎重选择。

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

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券