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