Spring Boot での Sharding-JDBC の読み取りと書き込みの分離の統合の概要 (コード付き)

不言
リリース: 2019-03-12 15:46:44
転載
2978 人が閲覧しました

この記事では、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
ログイン後にコピー
  • sharding.jdbc.config。 masterslave.load-balance-algorithm-type

クエリ中の負荷分散アルゴリズム。現在、round_robin (ポーリング) とrandom (ランダム) の 2 つのアルゴリズムがあります。アルゴリズム インターフェイスは 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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート