元数据持久化仓库

背景信息

Apache ShardingSphere 为不同的运行模式提供了不同的元数据持久化方式,用户在配置运行模式的同时可以选择合适的方式来存储元数据。

参数解释

数据库持久化

类型:JDBC

适用模式:Standalone

可配置属性:

名称数据类型说明默认值
providerString元数据存储类型,可选值为 H2,MySQLH2
jdbc_urlStringJDBC URLjdbc:h2:mem:config;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
usernameString账号sa
passwordString密码

ZooKeeper 持久化

类型:ZooKeeper

适用模式:Cluster

可配置属性:

名称数据类型说明默认值
retryIntervalMillisecondsint重试间隔毫秒数500
maxRetriesint客户端连接最大重试次数3
timeToLiveSecondsint临时数据失效的秒数60
operationTimeoutMillisecondsint客户端操作超时的毫秒数500
digestString登录认证密码

Etcd 持久化

类型:Etcd

适用模式:Cluster

可配置属性:

名称数据类型说明默认值
timeToLiveSecondslong临时数据失效的秒数30
connectionTimeoutlong连接超时秒数30

Nacos 持久化

类型:Nacos

适用模式:Cluster

可配置属性:

名称数据类型说明默认值
clusterIpString集群中的唯一标识真实主机IP
retryIntervalMillisecondslong重试间隔毫秒数500
maxRetriesint客户端检查数据可用性的最大重试次数3
timeToLiveSecondsint临时实例失效的秒数30

Consul 持久化

类型:Consul

适用模式:Cluster

可配置属性:

名称数据类型说明默认值
timeToLiveSecondsString临时实例失效的秒数30s
blockQueryTimeToSecondslong查询请求超时秒数60

操作步骤

  1. 在 server.yaml 中配置 Mode 运行模式
  2. 配置元数据持久化仓库类型

配置示例

  • 单机模式配置方式
  1. mode:
  2. type: Standalone
  3. repository:
  4. type: JDBC
  5. props:
  6. provider: H2
  7. jdbc_url: jdbc:h2:mem:config;DB_CLOSE_DELAY=-1;DATABASE_TO_UPPER=false;MODE=MYSQL
  8. username: test
  9. password: Test@123
  • 集群模式
  1. mode:
  2. type: Cluster
  3. repository:
  4. type: zookeeper
  5. props:
  6. namespace: governance_ds
  7. server-lists: localhost:2181
  8. retryIntervalMilliseconds: 500
  9. timeToLiveSeconds: 60
  10. maxRetries: 3
  11. operationTimeoutMilliseconds: 500