標(biāo)準(zhǔn)結(jié)構(gòu) 請(qǐng)求 → 本地緩存(Caffeine)→ 有 → 直接返回→ 無(wú) → 查 Redis→ 有 → 寫回本地緩存 → 返回→ 無(wú) → 查 DB → 寫 Redis + ...
標(biāo)準(zhǔn)結(jié)構(gòu) 請(qǐng)求 → 本地緩存(Caffeine)→ 有 → 直接返回→ 無(wú) → 查 Redis→ 有 → 寫回本地緩存 → 返回→ 無(wú) → 查 DB → 寫 Redis + ...
限流:我最多扛多少請(qǐng)求,多了直接攔在外邊。熔斷:你老掛 / 老慢,我就不調(diào)你了,直接斷開。降級(jí):整體不能掛,非核心功能先停 / 簡(jiǎn)化,保核心。三者都是微服務(wù)高可用、防雪崩的手...
搜索引擎 / 日志 / 大數(shù)據(jù)方向的加分項(xiàng) ES 基本原理 基于 Lucene 做的分布式搜索引擎。數(shù)據(jù)結(jié)構(gòu)是 文檔(Document),類似 JSON。核心是 倒排索引 —...
Redis = 內(nèi)存 KV 緩存數(shù)據(jù)庫(kù)(快、簡(jiǎn)單、存熱點(diǎn)數(shù)據(jù))MongoDB = 磁盤文檔型 NoSQL(存海量結(jié)構(gòu)化 / 半結(jié)構(gòu)化數(shù)據(jù)) Redis 是內(nèi)存數(shù)據(jù)庫(kù),快到爆炸...
RabbitMQ 是傳統(tǒng)消息隊(duì)列,Kafka 是分布式流處理平臺(tái);RabbitMQ 適合業(yè)務(wù)消息,Kafka 適合高吞吐日志 / 數(shù)據(jù)流。 RabbitMQ:老牌、可靠、靈活...
把路徑節(jié)點(diǎn)轉(zhuǎn)成坐標(biāo)使用遞歸 + tween 實(shí)現(xiàn)無(wú)限循環(huán)移動(dòng)去 A → 結(jié)束 → 去 B → 結(jié)束 → 去 C → 結(jié)束 → 回到 A(currentIndex+1) % p...
讀ftp 讀csv 1.批量>讀oracle入mysql 2.批量>讀oracle入clickhouse(注意問(wèn)題) 下列各式錯(cuò)誤: 原代碼中無(wú)jdbc關(guān)于 clickhou...
@Transactional 是 Spring AOP 代理,幫助自動(dòng)管理數(shù)據(jù)庫(kù)事務(wù)必須 public、必須由 Spring 代理調(diào)用(不能本類內(nèi)部調(diào)用)異常必須拋出去,不能...
MySQL 底層是分層架構(gòu) + 插件式存儲(chǔ)引擎的核心設(shè)計(jì),以 InnoDB 為默認(rèn)引擎,通過(guò)B + 樹索引、MVCC、WAL 日志、Buffer Pool等機(jī)制實(shí)現(xiàn)高性能、事...
引子 面試時(shí)候,碰到一個(gè)技術(shù)總監(jiān),問(wèn)我的項(xiàng)目如何保障高并發(fā)下事務(wù)的一致性,我回答時(shí)候,給了大致思路,但是不夠具體:當(dāng)時(shí)回答:高并發(fā)下如何保障事務(wù)一致,針對(duì)關(guān)系型數(shù)據(jù)庫(kù),使用事...
Queue = 隊(duì)列,就是一個(gè):先進(jìn)先出(FIFO) 的容器 使用場(chǎng)景 多線程「生產(chǎn)者 - 消費(fèi)者」一個(gè)線程往里面丟任務(wù)(生產(chǎn))一個(gè)線程取出來(lái)執(zhí)行(消費(fèi))比如:異步日志、異步...
MySQL 四大隔離級(jí)別(從低到高)讀未提交(Read Uncommitted)讀已提交(Read Committed)可重復(fù)讀(Repeatable Read)串行化(Se...
項(xiàng)目結(jié)構(gòu) app.json 是當(dāng)前小程序的全局配置,包括了小程序的所有頁(yè)面路徑、界面表現(xiàn)、網(wǎng)絡(luò)超時(shí)時(shí)間、底部 tab 等。 根目錄的app.json 其中app.json中的...
Spring Bean 的生命周期是 Spring 框架中最核心的概念之一,簡(jiǎn)單來(lái)說(shuō)就是 Bean 從創(chuàng)建、初始化、使用到銷毀的完整過(guò)程。 Spring Bean 完整生命周...