首页
搜索 搜索
快讯 >

天天观点:如何成为架构师?

2023-06-17 11:39:44 个人图书馆-精诚至_金石开
阿里妹导读从一些危害讲,业务系统处理业务请求,如果使用多线程模...


(资料图片)

阿里妹导读

从一些危害讲,业务系统处理业务请求,如果使用多线程模型并且使用了sync,非常容易导致请求hang死,并且不利于我们的并发。

从线程技术上来说,默认是unbound。这会导致很多的内存溢出,并且使用多线程,服务器重启会导致业务处于不可知的状态。

从使用原因来说:业务中使用多线程(有别于Tomcat这种容器中间件)是为了提高并发能力,或者是异步化业务能力。而这两种都有其他的方案来替代。比如高并发,我们可能会进行一些拆分操作,比如异步化,会使用消息队列等。

怎么做呢,比如异步化,我们用消息队列。如果是资源共享,那么尽量做到读,而不是写。如果是共享写,那么根据业务场景尽量拆分,然后归拢业务职责。这也是架构设计中聚合的重要性。很多框架比如netty,都有无锁设计。