原创 jvm性能調優學習總結

一 java性能調優工具箱 1.1操作系統的工具和分析 1.1.1 cpu使用率 1.top命令 可以按1,可以顯示每個cpu的使用率 2.vmstat 1 命令,每隔一秒採樣一次 說明1秒(1000毫秒)內,用戶態用了6%

原创 nginx常用配置學習

一:概念 nginx用來作爲網關暴露到外面,裏面負載均衡其他的應用服務器tomcat,當然,靜態資源,js,圖片,之類的可以直接放到nginx服務器,來加快訪問速度; 和haproxy對比 1.nginx可以支持幾萬的併發連接數,在性能方

原创 mysql讀寫分離調研

文章目錄一 mysql高可用方案二 讀寫分離方案1.使用中間件2.boot工程配置多數據源 一 mysql高可用方案 1.一主多從 2.組複製+mysql router 3.innodb cluster+mysql router

原创 mysql sql調優

文章目錄一:mysql執行計劃詳解二:mysql中常見的hint三:優化例子1.連接順序調整,及強制使用索引 個人感覺mysql的執行優化器和oracle比還是有很大的差距,oracle的很智能,好了,既然使用了mysql就不說這

原创 git命令背後原理學習

最近做銀聯項目,多人開發,需求比較雜,有的需求先開發的卻後上,有的相反,之前是用svn管理的,對於分支管理這塊不太好用,故而轉向git,使用git分支管理來做,下面記錄git的學習, 一:概念 工作區:就是你在電腦裏能看到的目錄。隨着分支

原创 分佈式事務原理及方案

文章目錄一.一致性理論1.CAP理論2.BASE 理論3.一致性模型二.分佈式事務解決方案1.XA 方案2.TCC 方案3.本地消息表4.可靠消息最終一致性方案5.最大努力通知方案6.混合方案以及變種7.seata三.參考網站 一

原创 mysql8鎖調研(實測)

這裏只說innodb,why?因爲MyISAM基本不用;爲什麼寫這篇文檔?因爲昨天生產出了個事故:有張表,竟然無法select了??也不能看錶結構了??,其他表正常;調研了一天,得出的結論是隻有lock tables … writ

原创 spring cloud alibaba [feigen/dubbo] + zipkin實戰

一.架構 二.軟件安裝 1.mysql安裝(存放zipkin數據,數據量大可以採用es) --- apiVersion: apps/v1 kind: Deployment metadata: annotations:

原创 logback更新到1.3版本tomcat無法啓動問題解決

問題 銀聯漏洞掃描,說logback1.1.3有漏洞不讓用了,必須要更新到1.3.0-alpha5,mave依賴改完之後,發現無法啓用,缺少類,然後吧slf4j-api-1.7.5更新到slf4j-api-2.0.0-alpha1

原创 k8s上搭建zookeeper集羣和kafka集羣

k8s上搭建zookeeper集羣和kafka集羣 一.zookeeper集羣搭建 1.原計劃是在一個development下創建三個副本,後來發現不行,如果是一個development,那麼三個副本的yml是一模一樣的,而zoo

原创 springboot單元測試詳解

文章目錄一.Junit 測試二.集成測試1.Spring Boot 測試-測試其中的bean2.Spring Boot Web 測試- 啓動tomcat3.Spring Boot Web 測試- 不啓動tomcat(模擬環境)三.

原创 基於redis的分佈式自增序列

RedisAtomicInteger,RedisAtomicLong 是spring-data-redis.jar提供的方法,springboot加入redis模塊自動引入 這兩個類與AtomicInteger的區別是,一個是

原创 seata學習

文章目錄一:AT二:TCC三:SAGA四:和springcloud 集成配置文件說明及注意點五:實戰 Seata 是一款開源的分佈式事務解決方案,致力於提供高性能和簡單易用的分佈式事務服務。Seata 將爲用戶提供了 AT、TCC

原创 io模型及java中對應使用

一.linux基礎知識講解 1.32位操作系統爲什麼只能使用4G的內存 cpu的位是指一次性可處理的數據量是多少,1字節=8位,32位處理器可以一次性處理4個字節的數據量。如果用32位標識內存中的一個地址,那麼就只能有2的32次方

原创 tcp3次握手4次揮手分析

文章目錄一.三次握手二.四次揮手三.參考網址 一.三次握手 流程 client發送syn server發送syn,ack client發送ack 問題 爲什麼需要三次握手,兩次不行嗎? 需要三次握手的目的是爲了減少服務端