摘要:今天就給大家介紹下方式的使用,主要講解讀寫(xiě)分離的配置,其余的后面再介紹。主要還是用提供的,配置如下配置內(nèi)容如下主數(shù)據(jù)源從數(shù)據(jù)源讀寫(xiě)分離配置查詢時(shí)的負(fù)載均衡算法,目前有種算法,輪詢和隨機(jī),算法接口是。
在我《Spring Cloud微服務(wù)-全棧技術(shù)與案例解析》書(shū)中,第18章節(jié)分庫(kù)分表解決方案里有對(duì)Sharding-JDBC的使用進(jìn)行詳細(xì)的講解。
之前是通過(guò)XML方式來(lái)配置數(shù)據(jù)源,讀寫(xiě)分離策略,分庫(kù)分表策略等,之前有朋友也問(wèn)過(guò)我,有沒(méi)有Spring Boot的方式來(lái)配置,既然已經(jīng)用Spring Boot還用XML來(lái)配置感覺(jué)有點(diǎn)不協(xié)調(diào)。
其實(shí)吧我個(gè)人覺(jué)得只要能用,方便看,看的懂就行了,mybatis的SQL不也是寫(xiě)在XML中嘛。
今天就給大家介紹下Spring Boot方式的使用,主要講解讀寫(xiě)分離的配置,其余的后面再介紹。
所謂的Spring Boot方式就是直接可以通過(guò)屬性文件或者YAML文件來(lái)配置上面我們提到的那些信息。
主要還是用shardingjdbc提供的starter,配置如下:
io.shardingjdbc sharding-jdbc-spring-boot-starter 2.0.0.M3
配置內(nèi)容如下:
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml sharding.jdbc.datasource.names=ds_master,ds_slave # 主數(shù)據(jù)源 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 # 從數(shù)據(jù)源 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 # 讀寫(xiě)分離配置 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
查詢時(shí)的負(fù)載均衡算法,目前有2種算法,round_robin(輪詢)和random(隨機(jī)),算法接口是io.shardingjdbc.core.api.algorithm.masterslave.MasterSlaveLoadBalanceAlgorithm。實(shí)現(xiàn)類有RandomMasterSlaveLoadBalanceAlgorithm和RoundRobinMasterSlaveLoadBalanceAlgorithm。
sharding.jdbc.config.masterslave.master-data-source-name
主數(shù)據(jù)源名稱
sharding.jdbc.config.masterslave.slave-data-source-names
從數(shù)據(jù)源名稱,多個(gè)用逗號(hào)隔開(kāi)
就是這么簡(jiǎn)單,整個(gè)流程結(jié)束,下面就是寫(xiě)代碼測(cè)試讀寫(xiě)分離的效果了,我這邊用的mybatis,代碼在我的Github上,文章中就不貼出來(lái)了,大家都會(huì)。
參考代碼:https://github.com/yinjihuan/...
歡迎加入我的知識(shí)星球,一起交流技術(shù),免費(fèi)學(xué)習(xí)猿天地的課程(http://cxytiandi.com/course)文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/73633.html
摘要:本文是采用方式配置第二篇,第一篇是讀寫(xiě)分離講解,請(qǐng)參考中整合讀寫(xiě)分離示例在我微服務(wù)全棧技術(shù)與案例解析書(shū)中都是通過(guò)方式配置。多個(gè)表以逗號(hào)分隔,支持表達(dá)式。提供對(duì)語(yǔ)句中的和的分片操作支持。是必選的,用于處理和的分片。 本文是Sharding-JDBC采用Spring Boot Starter方式配置第二篇,第一篇是讀寫(xiě)分離講解,請(qǐng)參考:《Spring Boot中整合Sharding-JDB...
摘要:實(shí)現(xiàn)數(shù)據(jù)庫(kù)分庫(kù)分表可以自己實(shí)現(xiàn),也可以使用和實(shí)現(xiàn)。分布式數(shù)據(jù)庫(kù)的自增不是自增的。分布式數(shù)據(jù)庫(kù)分頁(yè)查詢需要使用插入時(shí)間實(shí)現(xiàn)。包含分庫(kù)分片和讀寫(xiě)分離功能。 Sharding-Jdbc實(shí)現(xiàn)mysql分庫(kù)分表 簡(jiǎn)單介紹 數(shù)據(jù)庫(kù)分庫(kù)分表和讀寫(xiě)分離區(qū)別,分庫(kù)分表是在多個(gè)庫(kù)建相同的表和同一個(gè)庫(kù)建不同的表,根據(jù)隨機(jī)或者哈希等方式查找實(shí)現(xiàn)。讀寫(xiě)分離是為了解決數(shù)據(jù)庫(kù)的讀寫(xiě)性能不足,使用主庫(kù)master進(jìn)行...
摘要:比如使用的時(shí)候指定使用哪個(gè)環(huán)境的配置在微服務(wù)架構(gòu)下,服務(wù)的數(shù)量會(huì)比之前的單體應(yīng)用多,部署的節(jié)點(diǎn)數(shù)量也會(huì)很多。今天主要是講下在中如何對(duì)接進(jìn)行配置管理。 問(wèn)題背景 在實(shí)際工作中,我們的開(kāi)發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境對(duì)應(yīng)的 Mysql 數(shù)據(jù)庫(kù),Redis 這些信息都不一樣,每個(gè)環(huán)境都有對(duì)應(yīng)的一套配置,在 Spring Boot 中我們通常會(huì)編寫(xiě)多個(gè)配置文件,也就是每個(gè)環(huán)境一個(gè)配置文件。 比如:...
摘要:松哥上學(xué)那會(huì),很多人對(duì)有一些偏見(jiàn),偏見(jiàn)主要集中在以下幾方面不支持事務(wù)事實(shí)上有表鎖,但是效率比較低存儲(chǔ)的數(shù)據(jù)量比較小,適合小項(xiàng)目,大項(xiàng)目還是得上等這么多年過(guò)去了,松哥自己在開(kāi)發(fā)中一直是以為主,我覺(jué)得我有必要說(shuō)兩句公道話了。 松哥上學(xué)那會(huì),很多人對(duì) MySQL 有一些偏見(jiàn),偏見(jiàn)主要集中在以下幾方面: MySQL 不支持事務(wù)(事實(shí)上 MyISAM 有表鎖,但是效率比較低) MySQL 存儲(chǔ)...
閱讀 1272·2019-08-30 12:49
閱讀 3117·2019-08-28 18:14
閱讀 821·2019-08-26 11:38
閱讀 1680·2019-08-23 18:23
閱讀 2823·2019-08-23 17:04
閱讀 502·2019-08-23 16:52
閱讀 4022·2019-08-23 16:43
閱讀 2770·2019-08-23 16:12