原创 spring-cloud-alibaba-2.1-nacos入門

Nacos 一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。 Nacos=Naming+Configuration的前兩個字母,最後的s爲service Nacos= Eureka +Config + Bus 官

原创 SpringBoot 2.x 單元測試(junit5)

maven依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo

原创 Mycat-01-概述

是什麼 Mycat 是數據庫中間件。 爲什麼要用Mycat Java與數據庫緊耦合。 高訪問量高併發對數據庫的壓力。 讀寫請求數據不一致 Mycat官網 https://github.com/MyCATApache/ 中文

原创 XXL-JOB任務分片

背景 假設有k個地市,每個地市有x個訂單執行,總共kx個訂單,而每個訂單中又有一個字段體現出地市信息。 @Component @Slf4j public class AhOrdersXxlJob { //城市編號

原创 mysql 開窗函數

場景1: 取max 表結構 create table tb_test_info( student_id char(4) comment '學號', grade_id int comment '課程號', score int

原创 spring事件驅動編程--demo

引用: https://juejin.im/post/5d93fa78f265da5b991d5133 談到Spring 事件驅動模型,我想大家都不陌生,事件驅動模型,通常也可以說是觀察者設計模式。 java本身也自帶了對事件

原创 mycat-05-全局序列

全局序列 在實現分庫分表的情況下,數據庫自增主鍵已無法保證自增主鍵的全局唯一。 爲此, Mycat 提供了全局 sequence,並且提供了包含本地配置和數據庫配置等多種實現方式。 本地文件 此方式 Mycat 將 sequenc

原创 Sharding-JDBC-04-分庫、分表、公共表、綁定表、讀寫分離

水平分表 水平分表是在同一個數據庫內,把同一個表的數據按照一定的規則拆分到多個表中,在快速入門裏,已經進行實現,這裏不再贅述。 水平分表 水平分庫是把同一個表的數據按一定規則拆到不同的數據庫中,每個庫可以放在不同的服務器 上。接下

原创 mycat-06- HA機制的Mycat高可用

Mycat高可用 在對mycat 進行讀寫分離,雙主雙倍,實現HA後, 在實際項目中, Mycat 服務也需要考慮高可用性,如果 Mycat 所在服務器出現宕機,或 Mycat 服務故障,需要有備機提供服務,需要考慮 Mycat

原创 mycat-02-讀寫分離

一主一從 一個主機用於處理所有寫請求,一臺從機負責所有讀請求,架構圖如下 mysql數據庫主從複製 MySQL-04-3-主從複製 驗證讀寫分離 之前已經配置了讀寫分離,驗證是否已經真的實現讀寫分離? 在master機器新建一張表

原创 mycat-08- Mycat-web

Mycat 監控工具 Mycat-web 簡介 Mycat-web 是 Mycat 可視化運維的管理和監控平臺,彌補了 Mycat 在監控上的空白。幫 Mycat 分擔統計任務和配置管理任務。 Mycat-web 引入了 ZooK

原创 mycat-07- Mycat安全設置

權限配置 user 標籤權限控制 目前 Mycat 對於中間件的連接控制並沒有做太複雜的控制,目前只做了中間件邏輯庫級別的讀寫權限控制。是通過 server.xml的 user 標籤進行配置。 <!-- #server.xml配置

原创 Sharding-JDBC-01-概述

分庫分表是什麼 小明是一家初創電商平臺的開發人員,他負責賣家模塊的功能開發,其中涉及了店鋪、商品的相關業務,設計如下數據庫: 通過以下SQL能夠獲取到商品相關的店鋪信息、地理區域信息: SELECT p.*,r.[地理區域名稱]

原创 mycat-04-常用分片規則

常用分片規則 取模 此規則爲對分片字段求摸運算。 也是水平分表最常用規則。 前文orders表採用了此規則。 分片枚舉 通過在配置文件中配置可能的枚舉 id,自己配置分片,本規則適用於特定的場景, 比如有些業務需要按照省份或區縣來

原创 mycat-03-分庫分表

垂直拆分–分庫 一個數據庫由很多表的構成,每個表對應着不同的業務,垂直切分是指按照業務將表進行分類,分佈到不同 的數據庫上面,這樣也就將數據或者說壓力分擔到不同的庫上面. 分庫的原則 分庫的原則: 有緊密關聯關係的表應該在一個庫裏