apache-shardingsphere配置

shardingsphere-jdbc

### 1. SpringMonitoringConfig!!!记得打开
### 2. pom sharding-jdbc-spring-boot-starter 记得删除屏蔽

spring.application.name=demo

swagger.enable=true

management.endpoints.jmx.exposure.include=*
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always


# spring cloud access&secret config
# 可以访问如下地址查看: https://usercenter.console.aliyun.com/#/manage/ak
alibaba.cloud.access-key=****
alibaba.cloud.secret-key=****

mybatis.mapper-locations=classpath:mapper/*Mapper.xml
#sharding.jdbc.ds0.mapper-locations=classpath*:org/demo/test/persistence/xmlmapper/ds0/*.xml
#sharding.jdbc.ds1.mapper-locations=classpath*:org/demo/test/persistence/xmlmapper/ds1/*.xml
mybatis.type-aliases-package=com.example.demo.dao

# 应用服务 WEB 访问端口
server.port=8080
# Actuator Web 访问端口
management.server.port=8081

# Redis
boot4j.redis.enabled=true
spring.redis.database=1
spring.redis.host=192.168.1.69
spring.redis.password=ycredis
spring.redis.port=6379
spring.redis.pool.max-active=3000
spring.redis.pool.max-wait=3000
spring.redis.pool.max-idle=1000
spring.redis.pool.min-idle=0
spring.redis.timeout=1000

### tomcat access日志 ###
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.directory=E:/log
server.tomcat.accesslog.rotate=true
server.tomcat.accesslog.pattern='%t %a %A %m %U%q %s %D %I %B'
server.tomcat.accesslog.buffered=false
server.tomcat.accesslog.prefix=access_log

### 数据源 ###
#spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://192.168.1.69:3307/sharding_db?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#spring.datasource.username=root
#spring.datasource.password=root

### 连接池配置 ###
#spring.datasource.druid.initial-size=5
#spring.datasource.druid.max-active=50
#spring.datasource.druid.min-idle=5
#spring.datasource.druid.max-wait=60000
##spring.datasource.druid.pool-prepared-statements=
##spring.datasource.druid.max-pool-prepared-statement-per-connection-size=
##spring.datasource.druid.max-open-prepared-statements= #和上面的等价
##spring.datasource.druid.validation-query=
##spring.datasource.druid.validation-query-timeout=
##spring.datasource.druid.test-on-borrow=
##spring.datasource.druid.test-on-return=
##spring.datasource.druid.test-while-idle=
#spring.datasource.druid.time-between-eviction-runs-millis=60000
#spring.datasource.druid.min-evictable-idle-time-millis=30000
##spring.datasource.druid.max-evictable-idle-time-millis=
#spring.datasource.druid.filters=stat,wall

### 监控配置 ###
###WebStatFilter
#spring.datasource.druid.web-stat-filter.enabled=true
#spring.datasource.druid.web-stat-filter.url-pattern=/*
#spring.datasource.druid.web-stat-filter.exclusions=/druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico
#spring.datasource.druid.web-stat-filter.session-stat-enable=true
#spring.datasource.druid.web-stat-filter.session-stat-max-count=10
#spring.datasource.druid.web-stat-filter.principal-session-name=session_name
#spring.datasource.druid.web-stat-filter.principal-cookie-name=cookie_name
#spring.datasource.druid.web-stat-filter.profile-enable=
####StatViewServlet
#spring.datasource.druid.stat-view-servlet.enabled=true
## 配置DruidStatViewServlet
#spring.datasource.druid.stat-view-servlet.url-pattern=/my/d/*
##  禁用HTML页面上的“Reset All”功能
#spring.datasource.druid.stat-view-servlet.reset-enable=true
#spring.datasource.druid.stat-view-servlet.login-username=admin
#spring.datasource.druid.stat-view-servlet.login-password=123456
##IP白名单(没有配置或者为空,则允许所有访问)
#spring.datasource.druid.stat-view-servlet.allow=
##IP黑名单 (存在共同时,deny优先于allow)
#spring.datasource.druid.stat-view-servlet.deny=


### apache-sharding-config ###
spring.main.allow-bean-definition-overriding=true
# 数据源
sharding.jdbc.datasource.names=ds0,ds1
sharding.jdbc.datasource.ds0.type=com.alibaba.druid.pool.DruidDataSource
sharding.jdbc.datasource.ds0.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.ds0.url=jdbc:mysql://192.168.1.56:3306/unicom?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
sharding.jdbc.datasource.ds0.username=root
sharding.jdbc.datasource.ds0.password=YC_mysql@2020
sharding.jdbc.datasource.ds0.initial-size=5
sharding.jdbc.datasource.ds0.max-active=50
sharding.jdbc.datasource.ds0.min-idle=5
sharding.jdbc.datasource.ds0.max-wait=60000
sharding.jdbc.datasource.ds0.time-between-eviction-runs-millis=60000
sharding.jdbc.datasource.ds0.min-evictable-idle-time-millis=30000
sharding.jdbc.datasource.ds0.filters=stat,wall

sharding.jdbc.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource
sharding.jdbc.datasource.ds1.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.datasource.ds1.url=jdbc:mysql://192.168.1.56:3306/unicom_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
sharding.jdbc.datasource.ds1.username=root
sharding.jdbc.datasource.ds1.password=YC_mysql@2020
sharding.jdbc.datasource.ds1.initial-size=5
sharding.jdbc.datasource.ds1.max-active=50
sharding.jdbc.datasource.ds1.min-idle=5
sharding.jdbc.datasource.ds1.max-wait=60000
sharding.jdbc.datasource.ds1.time-between-eviction-runs-millis=60000
sharding.jdbc.datasource.ds1.min-evictable-idle-time-millis=30000
sharding.jdbc.datasource.ds1.filters=stat,wall


sharding.jdbc.config.props.sql.show=true

### 配置读写分离 ps:mysql需要自行配置主从同步
#sharding.jdbc.config.masterslave.name=ms
#sharding.jdbc.config.masterslave.master-data-source-name=ds0
#sharding.jdbc.config.masterslave.slave-data-source-names=ds1

### 分库配置
#sharding.jdbc.config.sharding.tables.users.actual-data-nodes=
#sharding.jdbc.config.sharding.tables.users.actual-data-nodes=ds$->{0..1}
#sharding.jdbc.config.sharding.tables.users.database-strategy.inline.sharding-column=id
#sharding.jdbc.config.sharding.tables.users.database-strategy.inline.algorithm-expression=ds$->{id % 2}
#分表
sharding.jdbc.config.sharding.tables.users.actual-data-nodes=ds0.users$->{0..1}
sharding.jdbc.config.sharding.tables.users.table-strategy.inline.sharding-column=id
sharding.jdbc.config.sharding.tables.users.table-strategy.inline.algorithm-expression=users$->{id % 2}
#分库
#sharding.jdbc.config.sharding.tables.users.database-strategy.inline.sharding-column=id
#sharding.jdbc.config.sharding.tables.users.database-strategy.inline.algorithm-expression=ds$->{id % 2}

shardingsphere-porxy
配置文件:
1.server.yaml

authentication:
  users:
    root:
      password: root
    sharding:
      password: sharding 
      authorizedSchemas: sharding_db,master_slave_db

props:
  max.connections.size.per.query: 1
  acceptor.size: 16  # The default value is available processors count * 2.
  executor.size: 16  # Infinite by default.
  proxy.frontend.flush.threshold: 128  # The default value is 128.
    # LOCAL: Proxy will run with LOCAL transaction.
    # XA: Proxy will run with XA transaction.
    # BASE: Proxy will run with B.A.S.E transaction.
  proxy.transaction.type: LOCAL
  proxy.opentracing.enabled: false
  proxy.hint.enabled: false
  query.with.cipher.column: true
  sql.show: true
  allow.range.query.with.inline.sharding: false

2.config-sharding.yaml

schemaName: sharding_db

dataSources:
  ds0:
    url: jdbc:mysql://192.168.1.56:3306/unicom?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: YC_mysql@2020
    connectionTimeoutMilliseconds: 30000
    idleTimeoutMilliseconds: 60000
    maxLifetimeMilliseconds: 1800000
    maxPoolSize: 50
#  ds1:
#    url: jdbc:mysql://192.168.1.56:3306/unicom_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
#    username: root
#    password: YC_mysql@2020
#    connectionTimeoutMilliseconds: 30000
#    idleTimeoutMilliseconds: 60000
#    maxLifetimeMilliseconds: 1800000
#    maxPoolSize: 50

shardingRule:
  tables:
   # users: #逻辑表名,在一个库里分表:ds0.t_user_0,ds0.t_user_1
   #   actualDataNodes: ds0.users$->{0..1}
   #   tableStrategy: #表分片策略
   #     inline: #行表达式分片策略
   #       shardingColumn: id #分片的字段
   #       algorithmExpression: users$->{id % 2} #分片的算法
    unicom_result:
      actualDataNodes: ds0.unicom_result$->{0..9}
      tableStrategy: #表分片策略
        inline: #行表达式分片策略
          shardingColumn: phone #分片的字段
          algorithmExpression: unicom_result$->{phone.substring(phone.length()-1, phone.length())} #分片的算法
    unicom_winning_record:
      actualDataNodes: ds0.unicom_winning_record$->{0..9}
      tableStrategy: #表分片策略
        inline: #行表达式分片策略
          shardingColumn: nick_name #分片的字段
          algorithmExpression: unicom_winning_record$->{nick_name.substring(nick_name.length()-1, nick_name.length())} #分片的算法
#    t_dept: #分库,两个库里建系统的表:ds0.t_dept,ds1.t_dept
#      actualDataNodes: ds$->{0..1}.t_dept
#      databaseStrategy: #数据库分片策略
#        inline: #行表达式分片策略
#          shardingColumn: dept_id #分片的字段
#          algorithmExpression: ds$->{dept_id % 2} #分片的算法

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值