springboot默認線程數(shù) dubbo線程池滿了會超時嗎?
dubbo線程池滿了會超時嗎?在Dubbo調(diào)用期間,被叫方有兩個線程池:IO線程池和業(yè)務(wù)線程池。這也是Dubbo調(diào)諧的重點。配置信息:dispatcher所有消息都發(fā)送到線程池,包括請求、響應(yīng)、連接事
dubbo線程池滿了會超時嗎?
在Dubbo調(diào)用期間,被叫方有兩個線程池:IO線程池和業(yè)務(wù)線程池。
這也是Dubbo調(diào)諧的重點。
配置信息:
dispatcher
所有消息都發(fā)送到線程池,包括請求、響應(yīng)、連接事件、斷開連接事件、心跳等
所有直接消息都不會發(fā)送到線程池,而是直接在IO線程上執(zhí)行。
消息只有請求-響應(yīng)消息被發(fā)送到線程池。其他斷開連接事件、心跳和其他消息直接在IO線程上執(zhí)行。
執(zhí)行只請求將消息發(fā)送到線程池,沒有響應(yīng)、響應(yīng)和其他斷開連接事件、心跳和其他消息。它直接在IO線程上執(zhí)行。
在Io線程上,連接將斷開連接事件放入隊列中,并按順序逐個執(zhí)行。其他消息被發(fā)送到線程池。
spring線程池的使用?
根據(jù)系統(tǒng)中并發(fā)線程數(shù),設(shè)置線程池中的以下參數(shù):核心線程數(shù)、最大線程數(shù)(達到任務(wù)隊列最大值時啟用)、任務(wù)等待隊列最大值、線程空閑時的恢復(fù)時間和時間單位,線程工廠,超過隊列的最大值并達到最大線程數(shù)時的拒絕策略。
以上可以通過兩種方式實現(xiàn)
1。XML文件配置
2。Bean注解
不要盯著線程池看,而要看問題所在。
例如,任務(wù)太多,CPU太滿,增加線程池是沒有用的。此時應(yīng)先加CPU,或加機。
如果CPU非常豐富,線程池上限被卡住,只需增加最大值。
如果任務(wù)執(zhí)行時間過長,并且“任務(wù)完成后請求返回”的設(shè)置不合適,導(dǎo)致用戶體驗不佳,則系統(tǒng)應(yīng)設(shè)計為在任務(wù)啟動后返回預(yù)定的Ping任務(wù)。