原创 如何排查java應用的高CPU佔用的問題

這類問題,如果應用不是在容器中運行的(K8S,docker),那排查起來相對簡單,無非就是先用top定位哪個java服務的進程的CPU佔用較高,再用top -Hp {pid}命令來查看具體哪些線程的CPU佔用較高,最後通過jstack命令打

原创 Vue 3.0 新特性解析

Vue 的下一代版本(3.0)終於在9.18日發佈正式版了,代號居然叫“One Piece”,不知海賊王粉們會作何感想... 不過終極祕寶這個定位,倒是很符合大家對這個版本的期待。去年開始,3.0版本的各種消息就一直源源不斷,我只是粗略的瞭

原创 Mysql Innodb 索引分析

什麼是索引 數據庫索引是我們每個開發人員既熟悉又陌生的東西,幾乎所有的業務系統都要與索引打交道,如果數據庫查詢慢了,第一時間想到的也是添加一個索引試試。但是大多數人並沒有去深究這個神奇的東西究竟是如何起作用的。 其實索引就像一本書的目錄,沒

原创 利用spring-boot-thin-launcher插件分離jar包的依賴和配置

Spring Boot項目可以通過spring-boot-maven-plugin插件打包生成一個可執行的jar包,這樣可以脫離web容器(例如tomcat)直接運行。但默認情況下spring-boot-maven-plugin打出來的包是

原创 Spring Cloud筆記(5)Spring Cloud Gateway與權限認證

上一篇中,我們構建了一個簡單的Spring Cloud Demo項目,涵蓋了服務註冊/發現,服務間的相互調用,以及熔斷降級等內容。但如果服務需要暴露給外部進行使用,比如移動端,或者web端,則還需要考慮更多的事情。整個服務端的部署情況對於外

原创 Spring Cloud筆記(4)構建Spring Cloud Demo

通過前幾篇文章的積累,我們現在可以來動手搭建一個完整的Spring Cloud Demo項目了。爲了更清楚的說明Spring Cloud的結構特點,我們的demo項目還是遵循由淺入深的原則,一開始只加入一些基本的特性,後面再來逐步完善。 業

原创 Spring Cloud筆記(8)使用Seata管理分佈式事務

分佈式事務介紹 所謂事務,就是一系列業務操作構成的獨立的執行單元。比如用戶購買商品下單的行爲,需要執行創建訂單,扣減商品庫存的兩個不同的數據庫操作,這就是一個事務。事務最重要的特性就是要支持原子性,要麼所有操作全部成功,要麼全部失敗。爲什麼

原创 Spring Cloud筆記(6)使用Spring Boot Admin監控服務

微服務的核心思想就是拆分業務,將單個系統按業務邊界切分爲多個可獨立部署的微服務子系統。這樣可以讓系統更容易擴展,更快速的迭代,但必然會導致系統內服務實例數量的大量增加,再加上服務實例可能部署到不同的操作系統和網段,對整個系統進行管理和監控的

原创 使用Sharding-Jdbc進行數據拆分

數據拆分的三種方案 當數據庫的數據量變得特別大,影響到查詢和更新效率的時候,我們就得考慮做數據拆分了。數據拆分一般包含三種方式:分區,分表和分庫,我們先分別來講一講: 分區:數據分區是數據庫提供的一種表結構設計方式,對一張數據表進行分區並

原创 利用交互式UI來生成MyBatis-Plus的代碼

MyBatis-Plus是一個比較流行的 MyBatis 的增強工具,它提供了一個代碼生成框架mybatis-plus-generator 功能也非常強大,可以根據數據庫表結構生成Entity,Mapper,Service,Controll