欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

构建更健壮的系统:不同的业务放在不同的线程/线程池里面

程序员文章站 2022-01-22 10:04:07
...

有时候我们会发现新上线的部分业务出现了问题,并且影响了其他功能。

我有时候想到从架构上如何避免这个问题,然后有了这样的一个思路。

 

开发的时候我们基本上不会考虑到这种问题,整个服务就共用一个线程池,甚至有些系统是单线程的。

一旦出现问题整个服务就一起挂掉了

这个肯定是我们不想看到的。

解决这个问题方法就是把不同模块放在不同的线程里面,如果之前使用的是线程池那么 不同业务也要用不同的线程池分开。因为如果这个业务有问题,这个业务所在的线程池也会很快的阻塞掉。

如果不同的业务分开到不同的线程池里面去,至少不会因为这个业务导致其他业务不可用。

 

再配合上一篇干掉耗时任务的方法,可以保证线上服务不会全完蛋