在云端运行分布式数据库

通过 Kubernetes 在两个简单步骤中创建分布式数据库集群。
1 位读者喜欢这篇文章。
diagram of planning a cloud

Opensource.com

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 集群。

  1. 使用以下三行命令在具有默认配置的 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
Create a three-node ShardingSphere-Proxy cluster

(Wu Weijie,CC BY-SA 4.0)

  1. 应用程序可以通过 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
Access the cluster through the svc domain

(Wu Weijie,CC BY-SA 4.0)

就这么简单。您正在云端运行 ShardingSphere,而这仅仅是开始。有关更多高级功能,请参阅官方 ShardingSphere-on-Cloud 文档


本文改编自 基于 ShardingSphere 的分布式数据库负载均衡架构:演示和用户案例,并已获得许可重新发布。

接下来阅读什么
Avatar
github.com/TeslaCN PMC 成员,Apache ShardingSphere 基础设施工程师,SphereEx

评论已关闭。

© . All rights reserved.