Heim > Java > javaLernprogramm > Einführung in die Integration der Sharding-JDBC-Lese- und Schreibtrennung in Spring Boot (mit Code)

Einführung in die Integration der Sharding-JDBC-Lese- und Schreibtrennung in Spring Boot (mit Code)

不言
Freigeben: 2019-03-12 15:46:44
nach vorne
3004 Leute haben es durchsucht

Dieser Artikel bietet Ihnen eine Einführung in die Lese- und Schreibtrennung von Sharding-JDBC (mit Code). Freunde in Not können sich darauf beziehen es hilft dir.

Zuvor habe ich XML verwendet, um die Datenquelle, die Lese-/Schreib-Trennstrategie, die Unterdatenbank- und Untertabellenstrategie usw. zu konfigurieren. Ein Freund hat mich auch schon einmal gefragt, ob es eine Spring Boot-Möglichkeit gibt, dies zu konfigurieren . Da ich Spring Boot bereits verwendet habe, kommt es mir etwas unpassend vor, XML für die Konfiguration zu verwenden.

Eigentlich denke ich persönlich, dass das SQL von mybatis nicht auch in XML geschrieben ist, solange es benutzbar, leicht lesbar und verständlich ist?

Heute werde ich Ihnen die Verwendung der Spring Boot-Methode vorstellen und dabei hauptsächlich die Konfiguration der Lese- und Schreibtrennung erläutern. Der Rest wird später vorgestellt.

Die sogenannte Spring Boot-Methode besteht darin, die oben genannten Informationen direkt über Eigenschaftsdateien oder YAML-Dateien zu konfigurieren.

Verwenden Sie hauptsächlich den von shardingjdbc bereitgestellten Starter. Die Konfiguration lautet wie folgt:

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

Der Konfigurationsinhalt lautet wie folgt:

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
Nach dem Login kopieren
  • sharding.jdbc.config. masterslave.load-balance- algorithm-type

Lastausgleichsalgorithmus während der Abfrage. Es gibt derzeit zwei Algorithmen, Round_Robin (Polling) und Random (Random). Die Algorithmusschnittstelle ist io.shardingjdbc.core. api.algorithm.masterslave .MasterSlaveLoadBalanceAlgorithm. Zu den Implementierungsklassen gehören RandomMasterSlaveLoadBalanceAlgorithm und RoundRobinMasterSlaveLoadBalanceAlgorithm.

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

Name der Stammdatenquelle

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

Trennen Sie mehrere Namen durch Kommas

So einfach ist der ganze Vorgang Codetest Der Effekt der Trennung von Lesen und Schreiben ist offensichtlich. Ich verwende den Code auf meinem Github, da ihn jeder kennt.


Das obige ist der detaillierte Inhalt vonEinführung in die Integration der Sharding-JDBC-Lese- und Schreibtrennung in Spring Boot (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage