Sharding Proxy搭建

在这里插入图片描述

前言

项目中使用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 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值