运行部署

    • Proxy 采用纯 JAVA 开发,JDK 建议 1.8 或以上版本。
    • 数据迁移使用集群模式,目前支持 ZooKeeper 作为注册中心。
    1. 获取 ShardingSphere-Proxy。详情请参见 。

    2. 修改配置文件 ,详情请参见模式配置

    目前 mode 必须是 Cluster,需要提前启动对应的注册中心。

    配置示例:

    1. 引入 JDBC 驱动。

    proxy 已包含 PostgreSQL JDBC 驱动。

    如果是异构迁移,源端支持范围更广的数据库。JDBC 驱动处理方式同上。

    1. 启动 ShardingSphere-Proxy:
    1. sh bin/start.sh
    1. 查看 proxy 日志 logs/stdout.log,看到日志中出现:
    1. [INFO ] [main] o.a.s.p.frontend.ShardingSphereProxy - ShardingSphere-Proxy start success

    确认启动成功。

    1. 按需配置迁移

    6.1. 查询配置。

    默认配置如下:

    1. +--------------------------------------------------------------+--------------------------------------+------------------------------------------------------+
    2. | read | write | stream_channel |
    3. +--------------------------------------------------------------+--------------------------------------+------------------------------------------------------+
    4. +--------------------------------------------------------------+--------------------------------------+------------------------------------------------------+

    6.2. 修改配置(可选)。

    完整配置 DistSQL 示例:

    1. ALTER MIGRATION RULE (
    2. READ(
    3. WORKER_THREAD=40,
    4. SHARDING_SIZE=10000000,
    5. RATE_LIMITER (TYPE(NAME='QPS',PROPERTIES('qps'='500')))
    6. ),
    7. WRITE(
    8. WORKER_THREAD=40,
    9. BATCH_SIZE=1000,
    10. RATE_LIMITER (TYPE(NAME='TPS',PROPERTIES('tps'='2000')))
    11. ),
    12. STREAM_CHANNEL (TYPE(NAME='MEMORY',PROPERTIES('block-queue-size'='10000')))
    13. );

    配置项说明:

    DistSQL 示例:配置 READ 限流。

    1. ALTER MIGRATION RULE (
    2. RATE_LIMITER (TYPE(NAME='QPS',PROPERTIES('qps'='500')))
    3. );

    配置读取数据限流,其它配置使用默认值。

    6.3. 恢复配置。

    1. ALTER MIGRATION RULE (
    2. READ(
    3. WORKER_THREAD=40,
    4. BATCH_SIZE=1000,
    5. SHARDING_SIZE=10000000,
    6. RATE_LIMITER (TYPE(NAME='QPS',PROPERTIES('qps'='500')))
    7. ),
    8. WRITE(
    9. WORKER_THREAD=40,
    10. BATCH_SIZE=1000,
    11. RATE_LIMITER (TYPE(NAME='TPS',PROPERTIES('tps'='2000')))
    12. ),
    13. STREAM_CHANNEL (TYPE(NAME='MEMORY',PROPERTIES('block-queue-size'='10000')))