首頁  >  文章  >  Java  >  Spring Boot中整合Sharding-JDBC讀寫分離的介紹(附程式碼)

Spring Boot中整合Sharding-JDBC讀寫分離的介紹(附程式碼)

不言
不言轉載
2019-03-12 15:46:332983瀏覽

這篇文章帶給大家的內容是關於Spring Boot中整合Sharding-JDBC讀寫分離的介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

之前是透過XML方式來配置資料來源,讀寫分離策略,分庫分錶策略等,之前有朋友也問過我,有沒有Spring Boot的方式來配置,既然已經用Spring Boot也用XML來設定感覺有點不協調。

其實吧我個人覺得只要能用,方便看,看的懂就行了,mybatis的SQL不也是寫在XML中嘛。

今天就跟大家介紹下Spring Boot方式的使用,主要講解讀寫分離的配置,其餘的後面再介紹。

所謂的Spring Boot方式就是直接可以透過屬性檔案或是YAML檔案來設定上面我們提到的那些資訊。

主要還是用shardingjdbc提供的starter,設定如下:

<dependency>
    <groupId>io.shardingjdbc</groupId>
    <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
    <version>2.0.0.M3</version>
</dependency>

設定內容如下:

server.port=8084

mybatis.config-location=classpath:META-INF/mybatis-config.xml

sharding.jdbc.datasource.names=ds_master,ds_slave

# 主数据源
sharding.jdbc.datasource.ds_master.type=com.alibaba.druid.pool.DruidDataSource
sharding.jdbc.datasource.ds_master.driver-class-name=com.mysql.jdbc.Driver
sharding.jdbc.datasource.ds_master.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8
sharding.jdbc.datasource.ds_master.username=root
sharding.jdbc.datasource.ds_master.password=123456

# 从数据源
sharding.jdbc.datasource.ds_slave.type=com.alibaba.druid.pool.DruidDataSource
sharding.jdbc.datasource.ds_slave.driver-class-name=com.mysql.jdbc.Driver
sharding.jdbc.datasource.ds_slave.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8
sharding.jdbc.datasource.ds_slave.username=root
sharding.jdbc.datasource.ds_slave.password=123456

# 读写分离配置
sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robin
sharding.jdbc.config.masterslave.name=dataSource
sharding.jdbc.config.masterslave.master-data-source-name=ds_master
sharding.jdbc.config.masterslave.slave-data-source-names=ds_slave
  • sharding.jdbc.config.masterslave.load-balance- algorithm-type

查詢時的負載平衡演算法,目前有2種演算法,rou​​nd_robin(輪詢)和random(隨機),演算法介面是io.shardingjdbc.core.api.algorithm.masterslave .MasterSlaveLoadBalanceAlgorithm。實作類別有RandomMasterSlaveLoadBalanceAlgorithm和RoundRobinMasterSlaveLoadBalanceAlgorithm。

  • sharding.jdbc.config.masterslave.master-data-source-name

主資料來源名稱

  • sharding.jdbc. config.masterslave.slave-data-source-names

從資料來源名稱,多個用逗號隔開

就是這麼簡單,整個流程結束,以下就是寫程式碼測試讀寫分離的效果了,我這邊用的mybatis,程式碼在我的Github上,文章中就不貼出來了,大家都會。


以上是Spring Boot中整合Sharding-JDBC讀寫分離的介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:segmentfault.com。如有侵權,請聯絡admin@php.cn刪除