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>
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
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.
Name der Stammdatenquelle
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!