资源限制与线程池
服务提供方采用线程池,来执行并发的远程调用处理,默认情况下,线程池的最大线程为Integer.MAX_VALUE
,也就是不受限制,
只受进程和操作系统对线程的最大限制,为了控制并发的最大线程数(也就是同时能处理多少个远程调用),需要对服务提供子系统
的线程池参数进行配置,以下是传输层子系统中,线程池的初始化过程
this.rpcExecutorService = new ThreadPoolExecutor(0, config.getThreads(), 60, TimeUnit.SECONDS, new SynchronousQueue<>(), new NameThreadFactory("Rpc"));
一、在Springboot
应用中对资源进行限制
在application.properties
配置文件中,配置fastcall.threads
的值即可。
二、在非Spring
应用中对资源进行限制
将FastcallConfig
配置类的threads
属性配置成需要的值即可。