pom

            <dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.0</version>
</dependency>

yml

# 数据源
# 参考
# https://blog.csdn.net/if_icanfly/article/details/120063523?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
spring:
# datasource:
# type: com.zaxxer.hikari.HikariDataSource
# driver-class-name: com.mysql.cj.jdbc.Driver
# username: root
# password: root
# url: jdbc:mysql://172.19.1.251:3306/yoyo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
shardingsphere:
datasource:
names: master,slave
master:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
jdbc-url: jdbc:mysql://172.19.1.251:3306/database?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
slave:
type: com.zaxxer.hikari.HikariDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: root
jdbc-url: jdbc:mysql://172.19.1.251:3306/database?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai
props:
sql-show: true
enabled: true
rules:
# 读写分离
readwrite_splitting:
data-sources:
# database name
database:
auto-aware-data-source-name: master,slave
write-data-source-name: master
read-data-source-names: slave
load-balancers-name: round-robin
load-balancers:
# 轮训有多种,具体查看 shardingsphere 官网
round-robin:
type: ROUND_ROBIN
props:
workId: 1
sharding:
tables:
# table name
table_name:
actual-data-nodes: master.table_name_$->{0..0}
table-strategy:
standard:
sharding-column: table_column
sharding-algorithm-name: account-inline
table_name:
actual-data-nodes: master.table_name_$->{0..0}
table-strategy:
standard:
sharding-column: table_column
# algorithm-name 为自定义,与 sharding-algorithms 下 对应
sharding-algorithm-name: account-inline
table_name:
# master_$->{}.table_name_$->{} 具体查看 shardingsphere 官网的 行表达式
actual-data-nodes: master.table_name_$->{0..0}
table-strategy:
standard:
sharding-column: table_column
sharding-algorithm-name: short-inline
# INTERVAL 时间范围分片算法 按照月份分片
table_name:
actual-data-nodes: master.table_name_$->{2021..2023}_$->{['01','02','03','04','05','06','07','08','09','10','11','12']}
table-strategy:
standard:
sharding-column: create_time
sharding-algorithm-name: table-interval
sharding-algorithms:
account-inline:
type: MOD
props:
# mod 获取 properties 为 get() 后 toString 然后进行 parse int
sharding-count: 1
short-inline:
type: HASH_MOD
props:
# hash_mod 获取 properties 为 getPropertity() 后进行 parse int
sharding-count: '1'
# 时间范围分片
table-interval:
type: INTERVAL
props:
datetime-pattern: "yyyy-MM-dd HH:mm:ss"
datetime-lower: "2021-01-01 00:00:00"
datetime-upper: "2023-12-31 23:59:59"
sharding-suffix-pattern: "yyyy_MM"
datetime-interval-amount: "1"
datetime-interval-unit: "MONTHS"

** 注意 **

MOD 以及 HASH_MOD 理应为 auto_table 的分片方法,但是 在 table 中可以使用,sharding 官方认为这是一个bug ,后期可能会将其解决掉

shardingsphere 5.0.0的更多相关文章

  1. 重磅|Apache ShardingSphere 5.0.0 即将正式发布

    Apache ShardingSphere 5.0.0 GA 版在经历 5.0.0-alpha 及 5.0.0-beta 接近两年时间的研发和打磨,终于将在 11 月份与大家正式见面! 11 月 10 ...

  2. Apache ShardingSphere 5.0.0 内核优化及升级指南

    经过近两年时间的优化和打磨,Apache ShardingSphere 5.0.0 GA 版终于在本月正式发布,相比于 4.1.1 GA 版,5.0.0 GA 版在内核层面进行了大量的优化.首先,基于 ...

  3. ElasticJob 3.0.0:打造面向互联网生态和海量任务的分布式调度解决方案

    ElasticJob 于 2020 年 5 月 28 日重启并成为 Apache ShardingSphere 子项目.新版本借鉴了 ShardingSphere 可拔插架构的设计理念,对内核进行了大 ...

  4. 官宣!ElasticJob 3.0.0 版本正式发布

    ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成.它通过弹性调度.资源管控.以及 ...

  5. sharding-jdbc5.0.0分表实践

    本文基于shardingsphere-jdbc-core-spring-boot-starter 5.0.0,请注意不同版本的sharding-jdbc配置可能有不一样的地方,本文不一定适用于其它版本 ...

  6. ShardingSphere-proxy-5.0.0部署之分表实现(一)

    一.说明 环境准备:JDK8+     mysql 5.x 官网:https://shardingsphere.apache.org/ 下载地址:https://archive.apache.org/ ...

  7. ShardingSphere-proxy-5.0.0分布式雪花ID生成(三)

    一.目的 保证在分库分表中每条数据具有唯一性 二.修改配置文件config-sharding.yaml,并重启服务 # # Licensed to the Apache Software Founda ...

  8. ShardingSphere-proxy-5.0.0分布式哈希取模分片实现(四)

    一.说明 主要是对字符串的字段进行hash取模 二.修改配置文件config-sharding.yaml,并重启服务 # # Licensed to the Apache Software Found ...

  9. ShardingSphere-proxy-5.0.0容量范围分片的实现(五)

    一.修改配置文件config-sharding.yaml,并重启服务 # # Licensed to the Apache Software Foundation (ASF) under one or ...

  10. ShardingSphere-proxy-5.0.0建立mysql读写分离的连接(六)

    一.修改配置文件config-sharding.yaml,并重启服务 # # Licensed to the Apache Software Foundation (ASF) under one or ...

随机推荐

  1. Vue 父组件传值给子组件,对象数组类型,父组件直接调用子组件方法,会是上次的引用地址,vue 父子组件传值数据不能实时更新问题

    vue 父子组件传值数据不能实时更新问题 解决方案一: 在子组件进行深度监听,然后监听里调用方法就可以了 父组件测试代码 <WranList ref="myEMChartRef2&qu ...

  2. webpack打包后发现有一部分代码还携带注释,如何解决?/webpack打包删除注释以及console.log--快快点进来看一看吧~~

    1.自己配置了一个webpack,打包后发现里边部分代码还存在注释,顿感不妙 废话不多说 解决如下: npm install terser-webpack-plugin --save-dev 然后在w ...

  3. Consumer接口-Consumer接口的默认方法andThen

    Consumer接口 java.util.function.Consumer<T〉接口则正好与Supplier接口相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型决定. 抽象方法:a ...

  4. 【分析笔记】Linux I2C-Tools 使用踩坑笔记

    一.踩坑缘由 在调试 I2C 器件时,我一般习惯于使用 i2cdetect 工具来确认芯片是否有应答,通常有应答之后,就会开始着手移植或者编写对应的驱动程序,但是在调试 sgp41 传感器时却不灵了. ...

  5. 线上排查:内存异常使用导致full gc频繁

    线上排查:内存异常使用导致full gc频繁 问题系统 日常巡检发现,应用线上出现频繁full gc 现象 应用线上出现频繁full gc 排查过程 分析dump 拉dump文件:小插曲:dump时如 ...

  6. vue学习笔记(四)---- 品牌管理案例

    一.导入相关包 <script src="../lib/vue2.6.10.min.js"></script> <script src=". ...

  7. 11月28日内容总结——多表查询的两种方法及部分小知识点、可视化软件Navicat安装及简单使用讲解及多表查询练习题、python代码操作MySQL(pymysql模块)

    目录 一.多表查询的两种方法 方式1:连表操作 inner join(内连接) left join(左连接) right join(右连接) union(全连接) 方式2:子查询 二.小知识点补充说明 ...

  8. 深度复盘-重启 etcd 引发的异常

    作者信息: 唐聪.王超凡,腾讯云原生产品中心技术专家,负责腾讯云大规模 TKE 集群和 etcd 控制面稳定性.性能和成本优化工作. 王子勇,腾讯云专家级工程师, 腾讯云计算产品技术服务专家团队负责人 ...

  9. 力扣每日一题2023.1.16---1813. 句子相似性 III

    一个句子是由一些单词与它们之间的单个空格组成,且句子的开头和结尾没有多余空格.比方说,"Hello World" ,"HELLO" ,"hello w ...

  10. IDEA插件:lombok

    1 安装插件lombok File => Settings => Plugins => Marketplace.在 Marketplace 中搜索 lombok 并安装,安装成功后 ...