Sharding Proxy搭建

Sharding Proxy搭建_第1张图片

文章目录

  • 前言
  • 搭建步骤
    • 下载文件,解压文件
    • 修改配置文件,分片
    • 修改 server.yaml
    • 安装mysql驱动
    • 启动及查看日志

前言

项目中使用sharding-jdbc分库分表,带来一个问题就是,我们查询的时候很不方便,找了一下sharding-proxy可以解决这个问题,

它的主要思路是将多个库的连接做成一个代理连接,再加上我们配置的策略,从而实现分库分表下客户端操作很方便。

本文是基于之前博客sharding-proxy的策略去做的,不明白的可以看之前的博客-----

搭建步骤

下载文件,解压文件

http://mirror.bit.edu.cn/apache/incubator/shardingsphere/4.0.0-RC1/apache-shardingsphere-incubating-4.0.0-RC1-sharding-proxy-bin.tar.gz
tar -zxvf apache-shardingsphere-incubating-4.0.0-RC1-sharding-proxy-bin.tar.gz

修改配置文件,分片

cd apache-shardingsphere-incubating-4.0.0-RC1-sharding-proxy-bin/conf
vim  config-sharding.yaml
schemaName: sharding_db  # 数据库名字

dataSources:
  order_db_1: #数据源别名,多个往下边追加
    url:  jdbc:mysql://192.168.56.121:33065/order_db_1?useUnicode=true
    username: root
    password: root 
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50

shardingRule: #分库分表的规则
  tables: # 多个表就往下边追加
    t_order: # 逻辑表的名字
      actualDataNodes: order_db_1.t_order_$->{1..2}   #实际执行的节点
      tableStrategy:
        inline:
          shardingColumn: order_id  #分表字段
          algorithmExpression: t_order_$->{order_id % 2 + 1}  #分表规则
      keyGenerator:
        type: SNOWFLAKE #分布式主键类型
        column: order_id  # 分布式主键
  bindingTables:
    - t_order  #  哪些表需要分库分表
  defaultDatabaseStrategy:
    inline:
      shardingColumn: order_id  #分库字段
      algorithmExpression: order_db_1.t_order_$->{1..2}  #分库算法
  defaultTableStrategy:
    none:

修改 server.yaml

authentication:
  username: root
  password: root
#props:
  acceptor.size: 16  #用于设置接收客户端请求的工作线程个数,默认为CPU核数*2
  sql.show: true  # 打印sql

安装mysql驱动

cd ../lib  
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.24/mysql-connector-java-5.1.24.jar

启动及查看日志

cd  ../bin
./start.sh
tail -f  ../logs/stdout.log 

你可能感兴趣的:(mysql,分布式,mysql,数据库,分布式,linux,java)