この記事では、Spring Boot での Sharding-JDBC の読み取りと書き込みの分離の統合 (コード付き) について紹介します。これには一定の参考価値があります。必要な友人はそれを参照できます。それはあなたを助けます。
以前は、XML を使用してデータ ソース、読み取り/書き込み分離戦略、サブデータベースとサブテーブル戦略などを構成していました。また、以前に友人から、それを構成するための Spring Boot メソッドがあるかどうか尋ねられました。 . Spring Bootを使ったことがあるので、設定にXMLを使うのは少し違和感があります。
実は個人的には使いやすく、読みやすく、理解できればそれでいいと思っているのですが、mybatisのSQLもXMLで書かれているのではないでしょうか?
今日は Spring Boot 方式の使い方を紹介します。主に読み書き分離の構成について説明します。残りは後ほど紹介します。
いわゆる Spring Boot 方式では、プロパティ ファイルまたは YAML ファイルを通じて上記の情報を直接設定します。
主に shardingjdbc が提供するスターターを使用します。設定は次のとおりです。
<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
クエリ中の負荷分散アルゴリズム。現在、round_robin (ポーリング) とrandom (ランダム) の 2 つのアルゴリズムがあります。アルゴリズム インターフェイスは io.shardingjdbc.core です。 api.algorithm.masterslave .MasterSlaveLoadBalanceAlgorithm。実装クラスには、RandomMasterSlaveLoadBalanceAlgorithm および RoundRobinMasterSlaveLoadBalanceAlgorithm が含まれます。
マスター データ ソース名
データ ソース名から、複数のデータ ソース名をカンマで区切ります
非常に簡単です。プロセス全体が終了しました。これがコードテスト 読み取りと書き込みの分離の効果は明らかです。ここでは mybatis を使用します。コードは私の Github にあります。誰もが知っているので記事には掲載しません。
以上がSpring Boot での Sharding-JDBC の読み取りと書き込みの分離の統合の概要 (コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。