之前設(shè)計(jì)過一個(gè) 百萬級(jí)QPS的公共配置中心設(shè)計(jì)方案[http://www.itdecent.cn/p/a62d524bd7ec],主要是用于服務(wù)端配置,但是對(duì)于APP端,其...
之前設(shè)計(jì)過一個(gè) 百萬級(jí)QPS的公共配置中心設(shè)計(jì)方案[http://www.itdecent.cn/p/a62d524bd7ec],主要是用于服務(wù)端配置,但是對(duì)于APP端,其...
業(yè)務(wù)中經(jīng)常有一些樹形結(jié)構(gòu)設(shè)計(jì),比如公司的組織架構(gòu)、服務(wù)調(diào)用鏈路等,每個(gè)節(jié)點(diǎn)都有子節(jié)點(diǎn)和父節(jié)點(diǎn),樹的深度又是不確定的,這時(shí)候sql結(jié)構(gòu)該怎么設(shè)計(jì)呢? 1、路徑枚舉模型 在這種模...
1、多屬性合并 根據(jù)stream中對(duì)象的多個(gè)相同屬性對(duì)不同的屬性進(jìn)行合并/聚合 2、根據(jù)多字段去重 3、根據(jù)多字段獲取重復(fù)數(shù)據(jù)
1 字符串 1.1 替換字符串 REPLACE 1.2 字符串交集 求兩個(gè)字符串是否有交集,比如表中數(shù)據(jù)是 1,2,3 ,搜索條件是 2,3,4,需要查詢到交集數(shù)據(jù)。 1....
常見性能優(yōu)化手段——以AB分流接口為例[http://www.itdecent.cn/p/e41d18e63d4f] 線上接口突然變慢優(yōu)化方案[https://www.ji...
服務(wù)高并發(fā)、高性能、高可用實(shí)現(xiàn)方案 高并發(fā)、高可用、高性能被稱為互聯(lián)網(wǎng)三高架構(gòu),這三者都是工程師和架構(gòu)師在系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一。 1、高并發(fā) 高并發(fā)是現(xiàn)在互聯(lián)網(wǎng)分...
如何衡量系統(tǒng)穩(wěn)定性的高與低呢?一個(gè)常用的指標(biāo)就是服務(wù)可用時(shí)長(zhǎng)占比,占比越高說明系統(tǒng)穩(wěn)定性也越高,如果我們拿一整年的數(shù)據(jù)來看,常見的 4 個(gè) 9(99.99%)意味著我們系統(tǒng)提...
1 系統(tǒng)拆分(微服務(wù)拆分) 最常見的是按照業(yè)務(wù)維度拆(比如電商場(chǎng)景的商品服務(wù)、訂單服務(wù)等),也可以按照核心接口和非核心接口拆,還可以按照請(qǐng)求去拆(比如To C和To B,A...
高并發(fā)系統(tǒng)功能設(shè)計(jì)注意事項(xiàng)[http://www.itdecent.cn/p/1ed37540b4ce] 1 集群部署(負(fù)載均衡) 通過負(fù)載均衡減輕單機(jī)壓力 如果一個(gè)應(yīng)用只...
1、MVCC 簡(jiǎn)單講講你對(duì) MVCC 的理解。 MVCC在MySQL InnoDB中的實(shí)現(xiàn)主要是為了提高數(shù)據(jù)庫并發(fā)性能,用更好的方式去處理讀-寫沖突,做到即使有讀寫沖突時(shí),也...
1. 背景 在關(guān)系數(shù)據(jù)庫中,當(dāng)單個(gè)庫的負(fù)載、連接數(shù)、并發(fā)數(shù)等達(dá)到數(shù)據(jù)庫的最大上限時(shí),就得考慮做數(shù)據(jù)庫和表的拆分。如一個(gè)簡(jiǎn)單的電商數(shù)據(jù)庫,在業(yè)務(wù)初期,為了快速驗(yàn)證業(yè)務(wù)模式,把用...
方法一:CAS 每個(gè)線程自旋獲取是否打印標(biāo)識(shí),利用原子類實(shí)現(xiàn)(AtomicInteger),實(shí)現(xiàn)簡(jiǎn)單但是性能不友好 方法二:Object的wait/notify 阻塞和喚醒機(jī)...
1、Kafka rebalance機(jī)制 kafka是以消費(fèi)者組進(jìn)行消費(fèi),一個(gè)消費(fèi)者組,由多個(gè)consumer組成,他們和topic的消費(fèi)規(guī)則如下: topic的一個(gè)分區(qū)只能被...
1、Reids Cluster架構(gòu) 在Redis(四):集群模式[http://www.itdecent.cn/p/ee1ccbddb020]這篇文章中有介紹redis集群...
1、自動(dòng)裝配 當(dāng)項(xiàng)目啟動(dòng)的時(shí)候,會(huì)去從所有的spring.factories文件中讀取@EnableAutoConfiguration鍵對(duì)應(yīng)的值,拿到配置類,然后根據(jù)一些條件...
在Java開源框架中,尤其是基于Spring/Springboot的開源框架,需要通過Spring/Springboot的擴(kuò)展點(diǎn)來整合,這篇文章就是整理一下那些Bean的生命...
Redisson 鎖的加鎖機(jī)制 自定義redis分布式鎖無法自動(dòng)續(xù)期,比如,一個(gè)鎖設(shè)置了1分鐘超時(shí)釋放,如果拿到這個(gè)鎖的線程在一分鐘內(nèi)沒有執(zhí)行完畢,那么這個(gè)鎖就會(huì)被其他線程拿...
1、常見場(chǎng)景 場(chǎng)景一:工作中根據(jù)日志排查問題時(shí)我們經(jīng)常想看到某個(gè)請(qǐng)求下的所有日志,可是由于生產(chǎn)環(huán)境并發(fā)很大,服務(wù)被調(diào)過于頻繁,日志刷新太快每個(gè)請(qǐng)求之間的日志并不連貫,互相穿插...
分布式事務(wù)常見解決方案 一、事務(wù)介紹 事務(wù)是一系列的動(dòng)作,它們綜合在一起才是一個(gè)完的工作單元,這些動(dòng)作必須全部完成,如果有一個(gè)失敗的話,那么事務(wù)就會(huì)回滾到最開始的狀態(tài),仿佛什...