Apache ShardingSphere 是一个开源的分布式数据库工具包。它增强了任何数据库的数据分片、弹性伸缩、加密和许多其他功能。手动部署和维护 ShardingSphere-Proxy 集群和负载均衡可能既费力又耗时。为了解决这个问题,Apache ShardingSphere 提供了 ShardingSphere on Cloud,这是一系列基于云的解决方案。
ShardingSphere-on-Cloud 包括用于在云环境中的虚拟机上自动部署的脚本。它还包括用于 Kubernetes 云原生环境的工具,以及用于高可用性、可观测性、安全策略合规性等的各种实践内容。这包括 Helm Charts、Operator 和自动水平扩展。
新的云项目提供以下功能
- 基于 Helm Charts 的 ShardingSphere-Proxy,用于在 Kubernetes 环境中一键部署。
- 基于 Operator 的 ShardingSphere-Proxy,用于在 Kubernetes 环境中一键部署和自动维护。
- 基于 Amazon Web Services (AWS) CloudFormation 的 ShardingSphere-Proxy,用于快速部署。
- 基于 Terraform 的 ShardingSphere-Proxy 在 AWS 环境中的快速部署。
本文演示了 ShardingSphere on Cloud 的一项基本功能:使用 Helm Charts 在 Kubernetes 中一键部署 ShardingSphere-Proxy 集群。
-
使用以下三行命令在具有默认配置的 Kubernetes 集群中创建一个三节点 ShardingSphere-Proxy 集群,并通过 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)
-
应用程序可以通过
svc
域名访问 ShardingSphere-Proxy 集群$ 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)
就这么简单。您正在云端运行 ShardingSphere,而这仅仅是开始。有关更多高级功能,请参阅官方 ShardingSphere-on-Cloud 文档。
本文改编自 基于 ShardingSphere 的分布式数据库负载均衡架构:演示和用户案例,并已获得许可重新发布。
评论已关闭。