背景 利用kafka進(jìn)行消息生產(chǎn)和消費(fèi),生產(chǎn)線程或消費(fèi)線程在tomcat關(guān)閉的時(shí)候無法優(yōu)雅的停止,一定要強(qiáng)制退出才行。很不體面。 Runtime.addShutdownHoo...
背景 利用kafka進(jìn)行消息生產(chǎn)和消費(fèi),生產(chǎn)線程或消費(fèi)線程在tomcat關(guān)閉的時(shí)候無法優(yōu)雅的停止,一定要強(qiáng)制退出才行。很不體面。 Runtime.addShutdownHoo...
復(fù)制 Redis 采用異步復(fù)制。從 Redis 2.8開始,從服務(wù)器會(huì)周期性地報(bào)告從復(fù)制流中處理的數(shù)據(jù)量。 一個(gè)主服務(wù)器可以擁有多個(gè)從服務(wù)器。 從服務(wù)器可以接受其他從服務(wù)器的...
CPU 100% 問題 線上問題處理 CPU 100% 2017-05-27 背景 由于之前做了個(gè)單點(diǎn)登錄,導(dǎo)致首次訪問子系統(tǒng)都要去驗(yàn)證登錄、獲取權(quán)限,生成seesion,...
動(dòng)態(tài)代理例子 使用動(dòng)態(tài)代理的步驟很簡(jiǎn)單, 可以概括為如下兩步: 實(shí)現(xiàn) InvocationHandler 接口, 并在 invoke 中調(diào)用真實(shí)對(duì)象的對(duì)應(yīng)方法. 通過 Pro...
鎖的代價(jià) 鎖是用來做并發(fā)最簡(jiǎn)單的方式,當(dāng)然其代價(jià)也是最高的。內(nèi)核態(tài)的鎖在鎖的時(shí)候需要操作系統(tǒng)進(jìn)行一次上下文切換,加鎖、釋放鎖會(huì)導(dǎo)致比較多的上下文切換和調(diào)度延時(shí),等待鎖的線程會(huì)...