Exécutez une base de données distribuée sur le cloud
Créez un cluster de bases de données distribuées avec Kubernetes en deux étapes simples.
Apache ShardingSphere est une boîte à outils de base de données distribuée open source. Il améliore n'importe quelle base de données avec le partage de données, la mise à l'échelle élastique, le chiffrement et de nombreuses autres fonctionnalités. Le déploiement et la maintenance manuels des clusters ShardingSphere-Proxy et de l'équilibrage de charge peuvent demander beaucoup de travail et de temps. Pour résoudre ce problème, Apache ShardingSphere propose ShardingSphere on Cloud, un ensemble de solutions basées sur le cloud.
ShardingSphere-on-Cloud inclut des scripts de déploiement automatisés sur des machines virtuelles dans des environnements cloud. Il comprend également des outils pour un environnement cloud natif Kubernetes et une variété de contenus pratiques pour la haute disponibilité, l'observabilité, la conformité aux politiques de sécurité, et bien plus encore. Cela inclut des graphiques Helm, un opérateur et une mise à l'échelle horizontale automatique.
Le nouveau projet cloud offre les fonctionnalités suivantes :
- ShardingSphere-Proxy basé sur Helm Charts pour un déploiement en un clic dans les environnements Kubernetes.
- ShardingSphere-Proxy basé sur un opérateur pour un déploiement en un clic et une maintenance automatisée dans les environnements Kubernetes.
- ShardingSphere-Proxy basé sur Amazon Web Services (AWS) CloudFormation pour un déploiement rapide.
- Déploiement rapide basé sur Terraform de ShardingSphere-Proxy dans les environnements AWS.
Cet article présente l'une des fonctionnalités fondamentales de ShardingSphere on Cloud : déploiement en un clic de clusters ShardingSphere-Proxy dans Kubernetes à l'aide de Helm Charts.
Utilisez la commande à trois lignes suivante pour créer un cluster ShardingSphere-Proxy à trois nœuds au sein d'un cluster Kubernetes avec la configuration par défaut et le servir via le service :
$ helm repo add shardingsphere https://apache.github.io/shardingsphere-on-cloud$ helm repo update$ helm install shardingsphere-proxy shardingsphere/apache-shardingsphere-proxy-charts -n shardingsphere
(Wu Weijie, CC BY-SA 4.0)
L'application peut accéder au cluster ShardingSphere-Proxy via le domaine
svc
:$ kubectl run mysql-client --image=mysql:5.7.36 \ --image-pull-policy=IfNotPresent -- sleep 300$ kubectl exec -i -t mysql-client -- mysql \ -h shardingsphere-proxy-apache-shardingsphere-proxy.shardingsphere.svc.cluster.local \ -P3307 -uroot -proot
(Wu Weijie, CC BY-SA 4.0)
C'est aussi simple que ça. Vous exécutez ShardingSphere sur le cloud, et ce n'est que le début. Pour des fonctionnalités plus avancées, reportez-vous à la documentation officielle de ShardingSphere-on-Cloud.
Cet article est adapté de A Distributed Database Load Balancing Architecture Based on ShardingSphere : Demo and User Case et est republié avec autorisation.