原创 設計模式學習——原型模式

一、應用場景  在開發中常能見到如下代碼,雖然命名規範,註釋也全面,但是這種代碼並不算優雅,只是重複取值賦值。 能否通過某種方式將其簡化呢?原型模式就可以實現。 public UserDTO converEntityToDTO(User

原创 JVM學習——(四)JVM參數和工具

一、JVM參數 1.1 標準參數 -version -help -server -cp   1.2 -X參數 非標準參數,也就是在JDK各個版本中會變動。 -Xint 解釋執行 -Xcomp 第一次使用就編譯成本地代碼 -Xmixed

原创 運維學習(二)Docker環境下使用Haproxy實現數據庫負載均衡

一、負載均衡中間件的選擇 上一篇成功搭建了數據庫集羣,但在pxc數據庫集羣中,任何一個節點都是可以讀寫的。 如果pxc集羣上線後,不應該把所有的請求都發送給一個節點,所有節點都應該參與數據請求的處理。 如果想要實現將請求均勻的發送給每個節

原创 JVM學習——(一)類加載機制&運行時數據區

一、類文件到虛擬機(類加載機制) 1.1 裝載(Load) 類加載的第一步是對類的裝載過程: 1)通過一個類的全限定名獲取定義此類的二進制字節流。 2)將這個字節流代表的靜態存儲結構轉化爲方法區的運行時數據結構 3)在Java堆中生成一個

原创 JVM學習——(二)內存模型

一、運行時數據區各區域的聯繫 1.1 棧幀 上一篇說過虛擬機棧一個線程執行的區域,是線程私有的。 可以這樣理解,每個線程對應一個虛擬機棧,這個線程中的每個方法對應一個棧幀。   那麼棧幀中是什麼內容呢? 每個棧幀中包含局部變量表、操作數

原创 微服務組件Zuul——自定義過濾器

  一、 Zuul及ZuulFilter Zuul是SpringCloud常用組件之一,Zuul提供了服務網關的功能,可以實現負載均衡、反向代理、動態路由、請求轉發等功能。 Zuul大部分功能都是通過過濾器實現的,Zuul中定義了四種標準

原创 MySQL性能優化學習——(四)優化總結篇

一、優化思路 性能優化的思路應該是什麼樣的? 說到性能調優,大部分時候想要實現的目標是讓我們的查詢更快。 一個查詢的動作又是由很多個環節組成的,每個環節都會消耗時間,在第一篇 關於SQL 語句的 執行流程中已經分析過了。 第一篇中說了

原创 運維學習(四)Docker環境下搭建Redis集羣——RedisCluster實現

一、關於Redis集羣需知的點 1.1 Redis的集羣方案 Redis目前的集羣方案有以下幾種: 1.RedisCluster:官方推薦,沒有中心節點 2.Codis:中間件產品,存在中心節點 3.Twemproxy:中間件產品,存在中

原创 運維學習(三)Docker環境下使用Keepalive+Haproxy實現數據庫負載均衡的高可用

在第二篇中已經實現了數據庫負載均衡中間件Haproxy的部署運行。 但當單臺Haproxy出現問題時,數據庫集羣的負載均衡也就失效了。爲了保證Haproxy的高可用,單臺Haproxy也是不夠的。 因此需要實現多臺Haproxy的部署運行

原创 [linux] 記錄一些自己常用的linux命令

最近在做運維操作時,經常百度linux命令。 感覺對linux命令不夠熟悉,在此記錄一些常用到的linux命令。 Linux cp ./my.conf  /usr/local/          cp爲複製命令   將當前目錄下的my.c

原创 運維學習(一)Docker搭建MySQL數據庫集羣

一,常見的兩種MySQL集羣方案 1. Replication Replication的方案是弱一致性的方案,無法保證數據的實時同步,DB1會直接提交。 特點 :速度快,弱一致性,低價值。常見日誌、新聞、帖子。 2. PXC PXC的方案

原创 日期類型查詢結果的轉化

  查MYSQL中datetime類型的日期,根據傳入參數條件判斷,轉成不同的日期類型返回 <choose> <when test="isYear"> date_format(表名.時間字段,"%Y-%m") as "date", </w

原创 SpringMVC中GET請求類型接收參數的兩種方式

1, @PathVariable 方式接收URI參數。 URI如: http://localhost:8080/MyApp/123/Jack/    @GetMapping("user/{userId}/{userName}") pub

原创 SpringCloudNetflix學習和實踐——統一配置中心

一、瞭解統一配置中心 什麼是統一配置中心? SpringCloud中的統一配置中心由組件Spring Cloud Config 實現。它是一個高可用的分佈式配置中心。   爲什麼需要統一配置中心? 1.方便維護:在多人協作開發的環境下,常

原创 SpringCloudNetflix學習和實踐——服務的通信調用

一、RPC和HTTP 應用服務間通信調用的方式主要有兩種,一種是HTTP,另一種是RPC。 RPC形式的常見代表是Dubbo。 Dubbo的定位就是一款RPC服務調用框架,基於Dubbo開發的應用還是要依賴周邊的平臺和生態,比如配合以Zo