上個博客講了MYSQL的主從配置,主從數據庫配好了以後
就可以實現讀寫分離了。
一般讀寫分離,主庫做增刪改等操作,
從庫做查詢操作。如果查詢多的話,可以多做幾天從庫。
SHARDINGJDBC最開始是由噹噹網開始的一個開源項目。由於反響好
直接進入apache的孵化項目,更名爲 SHARDINGSPHERE
GITHUB項目地址: https://github.com/apache/incubator-shardingsphere
下面是一些主要代碼是說明
1,引入jar,注意這裏springboot的版本不要太高,官網的例子是2.0.6.RELEASE
我用了springboot最新的版本,啓動一致報錯,bean衝突。主要如下。
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.6.RELEASE</version> <relativePath/> </parent>
<dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.0.0-RC1</version> </dependency>
2,配置文件配置:
spring: shardingsphere: props: sql: show: true datasource: names: master,slave #對應下面主從庫 master: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://192.168.89.129:3306/shrek-db?characterEncoding=utf-8 username: root password: 123456 slave: type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://192.168.89.130:3306/shrek-db?characterEncoding=utf-8 username: root password: 123456 masterslave: load-balance-algorithm-type: round_robin #負載 輪詢,當你有多個從庫或者主庫時 name: ms master-data-source-name: master #設置主庫 slave-data-source-names: slave #設置從庫
很簡單吧,就加了點代碼,SHARDINGSPHERE會幫你自動切庫,
當你做增刪改時,會直接操作主庫,
當你做查詢操作時,會直接查詢從庫,這裏數據庫壓力就可以平攤出來了
而我們一般的系統都是增刪改少,查詢多,就可以多設置幾個從庫,
下面是查詢和增加效果切圖
查詢查從庫,如下:
增加操作主庫:如下