原创 5. 簡單聊聊Dubbo負載均衡策略

Dubbo的負載均衡主要是解決分佈式系統中,消費者調用資源的合理分配問題,避免一臺機器出現大規模的請求,一臺機器沒有請求 Dubbo的均衡策略默認爲random loadBalance(隨機) 負載均衡策略 Random Load

原创 4. 簡單聊聊 Dubbo集羣容錯策略

因爲Dubbo是支持分佈式的,當服務消費者調用服務提供者的接口失敗時,Dubbo提供了六種容錯的機制。 Failover Cluster(Dubbo默認) 調用一臺機器上的服務失敗之後自動切換機器重試服務,一般情況下用於讀操作

原创 一致性Hash算法原理,沒想到竟如此簡單,幾張圖簡單明瞭

一致性hash的特性 單調性(Monotonicity): 單調性是指如果已經有一些請求通過哈希分派到了相應的服務器進行處理,又有新的服務器加入到系統中時候,應保證原有的請求可以被映射到原有的或者新的服務器中去,而不會被映射到原來

原创 管理類聯考簡單介紹

管理類聯考是指管理類專業碩士研究生入學統一考試。包括管理類綜合能力考試與英語考試兩科。 一直比較火熱的 MBA(工商管理碩士) 和 近幾年比較火熱的 MEM(工程管理碩士) 就屬於管理類聯考,一般學制是兩年。 一般的人事,金融,銀

原创 老生常談:SpringMVC的請求流程

Tomcat 將其映射到 Spring 的 DisptacherServlet 捕獲 DispatcherServlet 對請求URL進行解析,得到請求資源標識符(URI)。然後根據該URI,調用 HandlerMapping

原创 git命令:一個分支的誕生與消亡

每一個分支的起點都必須要是master *********@PEK1-3VSRW22 MINGW64 /d/******/******-order (master) $ git branch 20190320_add 該命令說明是

原创 Tomcat 構成以及運行原理略解

首先Tomcat的最頂層架構是Server, Server掌控Tomcat的整個生命週期 Server裏面可以包含有多個service用於提供具體的服務 service裏面包含多個Connector和Container, 這是T

原创 IDEA tomcat7 啓動日誌中文亂碼

IDEA 使用 Tomcat 7 啓動項目,項目日誌不亂碼,Tomcat 日誌亂碼,因此我們可以定位到是Tomcat 的配置有點問題 先找到 tomcat 的安裝目錄 對裏面的參數進行設置,增加一個:URIEncoding=“

原创 右擊菜單支持sublime text3

1.win+R打開cmd窗口,輸入regedit,打開註冊表 2.依次找到HKEY_CLASSESS_ROOT->*->Shell,下面新建項,命名爲Edit with Sublime Text3。 3.在項“Edit wit

原创 7. Redis如何支持高併發和高可用

Redis如何支持高併發 Redis 主從架構(master-slave) + Redis 讀寫分離 Redis 集羣架構做成主從架構,一主多從。主負責寫,並負責將數據同步到其他的salve 節點上,從負責讀,所有的讀請求走從節點

原创 Mybatis一級緩存、二級緩存介紹及工作原理

如上圖示:是一級緩存和二級緩存的關係 一級緩存是 sqlSession 級別的,在操作數據庫時需要構造 sqlSession 對象,在對象中有一個數據結構(HashMap)用於存儲緩存數據。不同的sqlSession之間的緩存數

原创 如何設計一個高併發的分佈式系統架構

何爲分佈式:分佈式就是將系統根據業務拆分成不同的子系統,部署在不同的機器上,因此要做成分佈式的系統首先要經歷下面幾個步驟 系統拆分;將系統根據業務場景拆分爲多個子系統,子系統之間的通信可以使用成熟的RPC框架,例如 Dubbo

原创 10. Redis緩存雪崩和緩存穿透以及預防措施

緩存雪崩 緩存雪崩發生的原因是因爲 Redis 服務宕機或者大量的 key 過期,導致緩存不可用,以致於大量的請求數據直接訪問到了數據庫上,導致數據庫超負荷運行甚至宕機 解決辦法: 針對於大量 key 不可用的情況,可以將各個 k

原创 ThreadPoolExecutor 初始化各參數的含義

序號 參數 含義 備註 1 corePoolSize 核心線程數量,線程池初始化時設定 corePoolSize 大小和 maximumPoolSize 大小一致的話 線程池中的線程將不會空閒、 keepAliveTime 和

原创 12. Redis的併發競爭以及解決辦法

併發競爭出現的問題是導致 Redis 中的數據最終更新狀態可能出現混亂的情況,沒有按照順序進行更新 分佈式鎖 + 時間戳 使用分佈式鎖進行加鎖,每個線程去 ZK 上註冊監聽器 拿到鎖之後,進行程序處理 當更改 redis 中的