原创 談一個大型的互聯網應用系統使用的技術方案彙總(架構師應具備的基本常識)

目錄開篇總得說點什麼數據庫消息中間件分佈式事務分佈式鎖分佈式ID任務調度中心配置中心註冊中心網關服務監控全鏈路跟蹤熔斷、降級、限流負載均衡總覺得還有什麼沒說到最後的最後似乎還有最後 開篇總得說點什麼 隨着現在技術的演進,分佈式微服

原创 我們永遠無法構建一個高併發系統

目錄文字遊戲架構是什麼如何做合適的架構阿里架構發展維基百科真正的架構最後 文字遊戲 以題引題,“ 我們永遠無法構建一個高併發系統 ”,因爲這是一個僞命題。高併發並不適合用來描述一個系統的特點,它只是說的這個系統適用的場景是高併發環

原创 一個簡單的組合模式練習題

目錄組合模式練習什麼是組合模式do 組合模式 練習 請用組合設計模式編寫程序,打印輸出圖 1 的窗口,窗口組件的樹結構如圖 2 所示,打印輸出示例參考圖 3。 什麼是組合模式 引用維基百科:在軟件工程中,組合模式是一種分區設計模

原创 (二)抽象一份技術設計-使用接口隔離原則做類圖優化

目錄背景技術設計 背景 請用接口隔離原則優化 Cache 類的設計,畫出優化後的類圖。cache 實現類中有四個方法,其中 put get delete 方法是需要暴露給應用程序的,rebuild 方法是需要暴露給系統進行遠程調用

原创 依賴倒置(我們所說的面向接口編程)--聊聊設計模式

目錄淺談依賴倒置原則前言依賴倒置Hollywood原則?什麼是依賴倒置依賴於抽象,程序中所有的依賴關係都應該終止與抽象類或者接口依賴倒置放置在哪? 淺談依賴倒置原則 前言 我們工作中經常用到優秀的框架和工具,他們爲什麼優秀,知其然

原创 Unix編程藝術-原則

目錄Unix編程藝術-原則 Unix編程藝術-原則 Unix哲學中的編程藝術,我們聊一下Unix中的軟件開發原則; 模塊原則:使用簡潔的接口拼合簡單的部件 清晰原則:清晰勝於機巧 組合原則:設計時考慮拼接組合 分離原則:策略同機

原创 (一)做一份詳細的技術設計文檔 - 食堂就餐卡系統設計

食堂就餐卡系統技術設計文檔食堂就餐卡系統設計一、設計概述1、功能概述2、非功能約束二、總體設計1、系統部署圖2、食堂卡系統場景用例3、系統內部組件架構3.1用戶管理組件設計4、場景模塊設計4.1卡消費4.1.1卡消費場景時序圖4.

原创 談一份技術設計文檔中應該出現的圖

談論一份技術設計中各種圖的用法及思路談一份技術設計文檔中應該出現的圖前言淺談做軟件架構進入正題4+1 視圖模型部署圖組件圖序列圖/時序圖用例圖活動圖/狀態圖類圖其他圖最後的建議 談一份技術設計文檔中應該出現的圖 前言 最近在聽過李

原创 如何做一份清晰易懂的軟件設計?

        在進行軟件開發之前,擁有一份清晰的軟件設計文檔進行開發全程的指導十分重要。在軟件團隊,經常發生人員流動,在完成一個項目的過程中,一個軟件模塊可能會流經N個人的手。如果沒有一分清晰的設計,模塊的設計思路經過多人之後可能已經走

原创 編寫springboot項目jar包工程啓動、停止、重啓腳本

關於springboot如果打包成jar項目,其運行方式無論是maven還是其他工具,其原理都同java -jar my.jar,調用jar包項目的主應用類啓動。 生產linux服務器下,可以編寫統一腳本依次管理啓動重啓,     單一

原创 Java技術點總結歸納---架構師成長之路

  最近又生出了換工作的想法,遂將目前掌握的技術點總結歸納一下,查漏補缺,也爲面試準備做個大綱。在這裏發佈出來,供大家參考,只作爲大家成長路上的一片樹葉。分類不求甚精細,但求歸納彙總。必有些枝葉不足之處,大家自行腦補。 再談一下面試,其實

原创 windows下使用BAT批處理腳本批量git clone代碼

現在的項目模塊分散比較多,一個大的項目需要若干個項目集合。首次使用git clone若干個項目,可能是個噩夢。正好項目中碰到如此情況,整個項目分爲80多個子項目模塊,鑑於同事使用mac的同學使用shell腳本執行了批量處理git clon

原创 黑匣子 之 一次springboot上線問題

 今天部署一個springboot項目,生產環境一直難以成功,報錯java.lang.UnsupportedClassVersionError: javax/annotation/ManagedBean : Unsupported maj