Spring Boot と ShardingSphere

Spring Boot と ShardingSphere はどちらも、分散アプリケーションの開発と管理に一般的に使用される Java テクノロジ フレームワークです。Spring Boot と ShardingSphere を使用してテーブルとデータベースのパーティショニングを実装する手順は次のとおりです。

  1. ShardingSphere の依存関係を追加する

Spring Boot プロジェクトの pom.xml ファイルに、sharding-jdbc-core、sharding-jdbc-spring-boot-starter、sharding-jdbc-spring-namespace などの ShardingSphere 関連の依存関係を追加します。

XMLコードをコピー<dependency><groupId>io.shardingsphere</groupId><artifactId>sharding-jdbc-core</artifactId><version>5.0.0-RC2</version></dependency><dependency><groupId> io.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>5.0.0-RC2</version></dependency><dependency><groupId>io.shardingsphere</ groupId><artifactId>sharding-jdbc-spring-namespace</artifactId><version>5.0.0-RC2</version></dependency>

  1. データソースの構成

Spring Boot プロジェクトの application.properties または application.yml ファイルで ShardingSphere のデータ ソースとシャーディング ルールを構成します。次に例を示します。

yamlコードをコピーしますspring:shardingsphere:datasource:names:ds0,ds1ds0:url:jdbc:mysql://localhost:3306/db0username:rootpassword:rootds1:url:jdbc:mysql://localhost:3306/db1username:rootpassword:rootsharding :tables:user:actualDataNodes:ds${0..1}.user_${0..1}tableStrategy:standard:shardingColumn:idshardingAlgorithmName:userShardingAlgorithmkeyGenerateStrategy:column:idkeyGeneratorName:snowflakedefaultDatabaseStrategy:standard:shardingColumn:user_idshardingAlgorithmName:databaseShardingAlgorithmsハーディングアルゴリズム:データベースシャーディングアルゴリズム: type:INLINEprops:algorithm.expression:ds${user_id%2}userShardingAlgorithm:type:INLINEprops:algorithm.expression:user_${id%2}keyGenerators:snowflake:type:SNOWFLAKEprops:worker.id:123max.vibration.offset: 1023

ここの構成では 2 つのデータ ソース (ds0 と ds1) を定義し、各データ ソースにはデータベース (db0 と db1) が含まれ、データベースとテーブルのシャーディング ルールを指定します。

  1. DAO層コードを書く

DAO レイヤーの Java コードを作成する場合は、ShardingSphere によって提供されるデータ ソースとデータ アクセス インターフェイスを使用する必要があります。次に例を示します。

javaコードをコピー@RepositorypublicclassUserDaoImplimplementsUserDao {

@Autowiredprivate JdbcTemplate jdbcTemplate;

@OverridepublicvoidaddUser(ユーザー user) {

Stringsql="ユーザー (ID、名前、年齢) の値 (?、?、?) に挿入";

jdbcTemplate.update(sql, user.getId(), user.getName(), user.getAge());

}

DAO レイヤー コードを作成した後、いくつかの簡単なテスト ケースを作成して、アプリケーションの機能をテストできます。例えば:

javaコードをコピー@SpringBootTestpublicclassApplicationTests {

@Autowiredprivate UserDao userDao;

@TestvoidtestAddUser() {

ユーザーユーザー=新しいユーザー();

user.setId(1);

user.setName("ジョン");

user.setAge(30);

userDao .addUser (ユーザー) ;

}

@TestvoidtestGetUserById() {

ユーザーユーザー= userDao.getUserById(1);

アサートノットヌル(ユーザー);

assertEquals("ジョン", user.getName());

assertEquals(30, user.getAge());

}

}

ここでのテストケースは、それぞれユーザーを追加する機能と、ユーザー ID に基づいてユーザー情報を取得する機能をテストします。

つまり、Spring Boot と ShardingSphere を使用してシャーディングとシャーディングを実装するには、まず ShardingSphere の依存関係を追加し、次にデータ ソースとシャーディング ルールを構成し、DAO レイヤー コードを記述し、最後にアプリケーションの機能をテストするためのテスト ケースを作成する必要があります。

おすすめ

転載: blog.csdn.net/heihei_100/article/details/129624758