通过之前的几篇文章,我们可以将我们的Proxy中间件运行起来了,并且为搭建集群模式做好了准备。这篇文章主要是用来讲解数据分片的功能,如果对启动sharding还是有一些问题,可以参考下面列出的文章。
往期文章汇总:
1. 定制ShardingSphere-Proxy镜像满足业务需求-优快云博客
2. ShardingSphere-Proxy启动时报Not enough space-优快云博客
数据分片前提
使用数据分片是有前提的,我们在分片前,需要考虑:
- 单表行数超过 500 万行
- 单表容量超过 2GB,才推荐进行分库分表。
说明:如果预计三年后的数据量根本达不到这个级别,请不要在创建表时就分库分表。因为分库分片会带来SQL执行时间变长以及数据库运维成本增加。
启动模式
-
单机模式:适用于开发、测试环境,元数据可以持久化到MySQL中,也可以保存在内存中。
-
集群模式:生产环境,使用ZooKeeper和Etcd来进行元数据的存储
单机模式与集群模式的区别主要是多个节点之间的元数据是否能够共享,关于元数据可以参考下面这篇文章。
注意集群模式下,zk和etcd的server-list格式不同。
global.yaml文件中启动模式的匹配内容
# 单机模式,内存方式存储元数据
mode:
type: Standalone
repository:
type: JDBC
# 单机模式,MySQL方式存储元数据
mode:
type: Standalone
repository:
type: JDBC
props:
provider: MySQL
jdbc_url: jdbc:mysql://124.156.192.247:3306/dbname
username: root
password: 123456
# zooKeeper配置,server-list为IP:PORT形式
mode:
type: Cluster
repository:
type: zookeeper
props:
namespace: governance_ds #这个值不要加/,sharding会自己加上
server-lists: 124.156.192.247:63311
retryIntervalMilliseconds: 500
timeToLiveSeconds: 60
maxRetries: 3
operationTimeoutMilliseconds: 500
# 集群模式配置
#Etcd配置,server-lists为proto

最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



