大家好,我是Java烘焙師。本文結合筆者的經(jīng)驗和思考,對業(yè)務數(shù)據(jù)遷移做個總結。在業(yè)務系統(tǒng)迭代的過程中,難免會做數(shù)據(jù)遷移,可能是因為: 業(yè)務模型變更:實體關系變了 或者存儲結構...
大家好,我是Java烘焙師。本文結合筆者的經(jīng)驗和思考,對業(yè)務數(shù)據(jù)遷移做個總結。在業(yè)務系統(tǒng)迭代的過程中,難免會做數(shù)據(jù)遷移,可能是因為: 業(yè)務模型變更:實體關系變了 或者存儲結構...
大家好,我是Java烘焙師。今天不聊架構,介紹一下AI編程。 趁著假期和業(yè)余時間,研究了一下AI編程,并用Kiro、OpenCode,從零搭建了一個完整可運行的全棧項目,包括...
大家好,我是Java烘焙師,近半年重啟了技術博客的更新,在春節(jié)前做個總結吧。 關于我:大廠架構師,有團隊管理經(jīng)驗,熱愛技術,平時喜歡思考總結。 寫作初衷: 功在平時:定期把自...
大家好,我是Java烘焙師。本文結合筆者的經(jīng)驗和思考,對灰度方案做個總結,重點介紹AB實驗。 灰度在開發(fā)流程中非常普遍。先做小流量驗證,確認無誤后再推全,灰度過程中一旦發(fā)現(xiàn)系...
大家好,我是Java烘焙師。后端程序員平時除了接觸業(yè)務代碼、中間件、存儲等,也難免會跟數(shù)倉有交集。下面結合筆者的經(jīng)驗和思考,從后端程序員的視角看數(shù)倉、做個總結,后續(xù)再跟數(shù)倉/...
大家好,我是Java烘焙師。上一篇文章介紹了限流方案的使用和選型,本文接著講限流算法的原理。常見的限流算法有:令牌桶、窗口計數(shù)、漏桶,前兩種在實際使用中最常見,因此重點介紹。...
大家好,我是Java烘焙師。為了避免突增流量引起服務雪崩,需要對接口、存儲資源做限流保護,根據(jù)系統(tǒng)負載情況設置合適的限流值。下面結合筆者的經(jīng)驗和思考,對主要限流方案的選型做一...
大家好,我是Java烘焙師。如何更新緩存和DB、做到性能和一致性的取舍,是一個很常見的話題。下面結合筆者的經(jīng)驗和思考,系統(tǒng)性地總結一下緩存更新模式,講透講明白。 1、旁路緩存...
背景 在跨系統(tǒng)之間的數(shù)據(jù)寫入場景下,上下游系統(tǒng)極有可能因為網(wǎng)絡超時/抖動、或寫本地DB與調外部接口不能同時成功等原因,而出現(xiàn)數(shù)據(jù)不一致的問題,因此需要有及時發(fā)現(xiàn)不一致問題、并...
業(yè)務發(fā)展過程中,增加字段是很常見、頻繁的,因此怎么存儲新增的字段是要重點考慮的因素。下面結合筆者的經(jīng)驗,總結一下各種業(yè)務擴展模式選型的優(yōu)缺點、適用場景,如何讓系統(tǒng)保持良好的業(yè)...
背景 反射在Java中非常重要,是Java區(qū)別于其他編程語言的一大特性。Java中的AOP切面、動態(tài)代理等看起來像黑魔法一樣的技術,就離不開反射、字節(jié)碼等。這些技術能在不侵入...
正如飛機在起飛前,機長、副機長要過一遍checklist檢查,確認沒問題了才能起飛。樓主也整理了一個系統(tǒng)容量現(xiàn)狀checklist,方便對照檢查。本文搭配架構師必備:如何做容...
首先要回答一個問題,為何要使用HBase?隨著業(yè)務不斷發(fā)展、數(shù)據(jù)量不斷增大,MySQL數(shù)據(jù)庫存在這些問題: MySQL支持的數(shù)據(jù)量為TB級,不能一直保留歷史數(shù)據(jù)。而HBase...
背景 有2種常見的多維度查詢場景,分別是: 帶多個篩選條件的列表查詢 不含分庫分表列的其他維度查詢 普通的數(shù)據(jù)庫查詢,很難實現(xiàn)上述需求場景,更不用提模糊查詢、全文檢索了。 下...
結論 有以下幾種Redis集群方案,先說結論: Redis cluster:應當優(yōu)先考慮使用Redis cluster。 codis:舊項目如果仍在使用codis,可繼續(xù)使用...
Spring cache是一個緩存API層,封裝了對多種緩存的通用操作,可以借助注解方便地為程序添加緩存功能。常見的注解有@Cacheable、@CachePut、@Cach...
先說結論:本地緩存優(yōu)先選用caffeine,因為性能比guava cache快,api風格與之兼容、能輕松地平滑遷移,并且在spring/spring boot最新版本中已經(jīng)...
要在應用中做到冪等,其實并不難,本文嘗試做一個系統(tǒng)性的總結,歡迎一起探討。 什么是冪等 某個操作執(zhí)行一次,跟執(zhí)行多次的效果一樣。冪等一詞來自于數(shù)學中的冪等,即f(f(x)) ...
為了構建高并發(fā)、高可用的系統(tǒng)架構,壓測、容量預估必不可少,在發(fā)現(xiàn)系統(tǒng)瓶頸后,需要有針對性地擴容、優(yōu)化。結合樓主的經(jīng)驗和知識,本文做一個簡單的總結,歡迎探討。 1、QPS保障目...
本文介紹如何應用Canal實現(xiàn)異步、解耦的架構,后續(xù)有空再寫文章分析Canal原理和源代碼。 Canal簡介 Canal是用來獲取數(shù)據(jù)庫變更的中間件。偽裝自己為MySQL從庫...