原创 IDEA插件-熱部署:JRebel

一、摘要 springboot項目開發過程中通常修改了某分部代碼需要重啓服務才能生效。通過JRebel插件可以實現熱部署,避免了頻繁重啓服務。 JRebel是一套JavaEE開發工具。 Jrebel 可快速實現熱部署,節省了大量重

原创 手寫springmvcv

手寫springmvcv手寫springmvcv手寫springmvcv

原创 P6Spy-打印具體sql

簡介 P6Spy 是針對數據庫訪問操作的動態監測開源框架(www.p6spy.com)。利用該框架可以查看sql語句,不是預編譯的帶問號的,而是真正的數據庫執行的sql,更直觀,更簡單。 集成方式 添加jar包依賴 <depen

原创 性能問題定位

術語 吞吐量 對單位時間內完成的工作量的度量 平均響應時間 提交請求和返回該請求的響應之間使用的時間 TPS 每秒處理事務量 QPS: 每秒查詢量 檢測性能的4個維度 cpu io memory network cpu t

原创 spring聲明式事務操作實現原理

spring聲明式事務操作實現原理spring聲明式事務操作實現原理spring聲明式事務操作實現原理

原创 00.數據庫分庫分表-概述

摘要 由於本人在某公司教育BG工作,一場疫情下的停課不停學讓我們業務暴漲。業務暴漲帶了了諸多問題。首當其衝的便是數據量暴增了。其中幾個業務表每月的數據量增長大約2000w條,直接導致服務響應時間等等問題,所以急需進行一輪性能優化。

原创 01.數據庫分庫分表-現狀分析

概述 以任務爲例,如果我們需要進行分表,需要關注兩點 1.數據增長量,決定了分表數量 2.查詢以及數據更新場景,決定了按那種方式分表 數據分析 1. 表結構 字段名 類型 描述 id long 主鍵 stude

原创 04.數據庫分庫分表-shardingjdbc

摘要 定位爲輕量級Java框架,在Java的JDBC層提供的額外服務。 它使用客戶端直連數據庫,以jar包形式提供服務,無需額外部署和依賴,可理解爲增強版的JDBC驅動,完全兼容JDBC和各種ORM框架。 適用於任何基於JDBC

原创 Mybatis原理學習

Mybatis原理學習Mybatis原理學習Mybatis原理學習

原创 基於zookeeper的主備服務

摘要 爲了高可用通產我們一個服務會部署多節點。但是有時我們希望對某些操作要求單線程處理,此時可以通過主備服務形式實現。正常情況下主節點服務處理,當主節點宕機後備用節點相關服務繼續處理。 需求 資源中心會將資源文件相關操作分發至各個

原创 02.數據庫分庫分表-分表策略

摘要 上一篇文章已經說根據school_id進行分表。通常我們的分表策略有兩種方式 取模分表 範圍分表 取模分表 所謂的取模分表就是對分表key取模,通過預估數據量確定分幾張表那麼則模以幾。 在我們設計系統之前,可以先預估

原创 03.數據庫分庫分表-唯一主鍵生成

摘要 數據庫分庫分表同時因爲服務是多節點部署的,所以就會引申出分佈式系統中唯一主鍵ID的生成問題。一般我們唯一ID的有以下特性: 整個系統ID唯一 ID是數字類型,而且是趨勢遞增的 ID簡短,查詢效率快 下面我們看下常見的

原创 07 分佈式通信之Kafka

07 分佈式通信之Kafka07 分佈式通信之Kafka07 分佈式通信之Kafka

原创 08 分佈式通信之RabbitMQ

08 分佈式通信之RabbitMQ08 分佈式通信之RabbitMQ

原创 06 分佈式消息通信之ActiveMQ

06 分佈式消息通信之ActiveMQ06 分佈式消息通信之ActiveMQ06 分佈式消息通信之ActiveMQ