Maison > Java > javaDidacticiel > Implémentation pratique de la sous-bibliothèque et de la sous-table de microservices Spring Cloud

Implémentation pratique de la sous-bibliothèque et de la sous-table de microservices Spring Cloud

王林
Libérer: 2023-06-22 13:20:06
original
1748 Les gens l'ont consulté

Avec le développement rapide d'Internet et l'expansion continue de l'échelle commerciale, de plus en plus d'entreprises commencent à adopter une architecture de microservices. En tant qu'excellent framework de microservices, Spring Cloud implémente non seulement le fractionnement et la gestion des services, mais fournit également une série de solutions efficaces. Le partage de bases de données et de tables est l’un des moyens importants pour garantir la stabilité et l’évolutivité du système en période de forte concurrence. Cet article explique comment implémenter le partitionnement de bases de données et de tables sous l'architecture de microservice Spring Cloud.

1. Le principe de la sous-base de données et de la sous-table

Avant de réaliser la sous-base de données et la sous-table, comprenons d'abord son principe. Ce que l'on appelle le partitionnement des bases de données et des tables signifie que les données initialement stockées dans une table sont dispersées et stockées dans plusieurs bases de données ou plusieurs tables. Cela peut disperser les données dans différentes bases de données ou tables, éviter une pression excessive sur une seule base de données ou table et améliorer l'évolutivité et les performances du système.

Voyons comment implémenter une sous-base de données et une sous-table.

  1. Sous-bibliothèque

La répartition des données dans plusieurs bibliothèques peut réduire la charge pesant sur une seule base de données. Lors de la division de la base de données, nous devons disperser différentes données dans différentes bases de données tout en garantissant la cohérence des données, c'est-à-dire que toutes les données sont synchronisées d'une manière ou d'une autre.

  1. Tables divisées

Distribuez les données dans plusieurs tables, ce qui peut réaliser un stockage distribué des mêmes données et réduire la pression sur une seule table. Lors de la division des tableaux, nous devons disperser les mêmes données dans différents tableaux tout en garantissant la pertinence des données.

2. Implémenter une sous-base de données et une table

Dans le cadre de microservices Spring Cloud, nous pouvons implémenter une sous-base de données et une table via le routage de base de données, le middleware de données et Sharding-JDBC.

  1. Routage de base de données

Le routage de base de données achemine généralement les données vers différentes bases de données en fonction de règles métier. Cette méthode de mise en œuvre est relativement simple, mais elle ne permet pas de mettre à l’échelle dynamique les données. De plus, en raison de la nécessité d'un routage des données au niveau de la couche application, certaines pertes de performances se produiront.

  1. Middleware de données

Le middleware de données implémente généralement le routage des données et l'équilibrage de charge sur la couche supérieure de la base de données. De plus, le middleware de données peut également réaliser un stockage distribué et une haute disponibilité des données. Cependant, le middleware de données nécessite une prise en charge matérielle et logicielle supplémentaire, et les problèmes d'évolutivité et de coût doivent être pris en compte.

  1. Sharding-JDBC

Sharding-JDBC est un framework Java léger conçu pour fournir un partitionnement transparent des bases de données et des tables. Il implémente le partitionnement de bases de données et de tables en fournissant un ensemble d'agents de source de données et certaines configurations de règles. Lors de l'utilisation de Sharding-JDBC, il suffit de modifier la configuration originale de la source de données, et il n'est pas nécessaire de modifier la partie du code qui exploite la base de données. De cette manière, des fonctions transparentes de sous-base de données et de table peuvent être obtenues.

3. Utilisez Sharding-JDBC pour implémenter le partitionnement de bases de données et de tables

Ci-dessous, nous prenons une architecture de microservice simple comme exemple pour présenter comment utiliser Sharding-JDBC pour implémenter le partitionnement de bases de données et de tables.

  1. Créer une base de données

Nous devons d'abord créer deux bases de données db1 et db2, et créer deux tables utilisateur et ordre dans ces deux bases de données.

  1. Intégrer Sharding-JDBC

L'intégration de Sharding-JDBC dans le projet Spring Boot est très simple, il suffit d'ajouter la dépendance de Sharding-JDBC dans pom.xml. Dans le même temps, nous devons également ajouter la configuration liée à Sharding-JDBC dans le fichier de configuration.

  1. Configurer les règles de partitionnement et les règles de partitionnement

Dans Sharding-JDBC, nous pouvons réaliser la fonction de partitionnement en configurant les règles de partitionnement et les règles de partitionnement.

  • Règles de sous-base de données

Les règles de sous-base de données dispersent principalement les données dans différentes bases de données en fonction de règles métier. Lors de la mise en œuvre des règles de partitionnement, nous devons prêter attention aux points suivants :

(1) Sharding-JDBC peut prendre en charge plusieurs sources de données et nous devons configurer une source de données pour chaque source de données.

(2) Nous devons définir une classe de stratégie de partitionnement standard pour déterminer la stratégie de sélection de la source de données.

(3) Nous devons définir une classe de règles de partitionnement pour déterminer les attributs clés de la source de données et le nombre de fragments.

  • Règles de fractionnement de table

Les règles de fractionnement de table dispersent principalement les mêmes données dans différentes tables. Lors de la mise en œuvre des règles de partitionnement des tables, nous devons prêter attention aux points suivants :

(1) Plusieurs tables physiques doivent être configurées pour chaque table logique.

(2) Nous devons définir une classe de stratégie de fractionnement de table standard pour déterminer la stratégie de sélection de table de données.

(3) Nous devons définir une classe de règles de sous-table pour déterminer les attributs clés de la table de données.

4. Résumé

Le partitionnement de sous-bases de données et de tables est l'un des moyens importants pour garantir la stabilité et l'évolutivité du système en période de forte concurrence. Dans le cadre de l'architecture de microservices Spring Cloud, nous pouvons implémenter le partitionnement de bases de données et de tables via le routage de bases de données, le middleware de données et Sharding-JDBC. Parmi eux, Sharding-JDBC est un framework Java léger conçu pour fournir un partitionnement transparent des bases de données et des tables. Sharding-JDBC peut être utilisé pour mettre en œuvre le partitionnement de bases de données et de tables de manière simple et efficace, améliorant ainsi l'évolutivité et les performances du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal