开启分片支持需要如何去做?

后台-系统设置-扩展变量-手机广告位-内容正文顶部

开启分片支持

  如果您计划使您的Javashop系统数据分片,请参考本文档进行相应的配置。

一、做好分片策略

  在开始之前,您应该根据自己的业务情况准备好分片策略,包括:

  1、要用几个数据库来分片

  2、相应的表要分几张表

  在本例,我们假设用2个数据库分片,相应的表分两个表。

二、分片数据源准备

  请根据您的业务情况准备供分片的Mysql数据库,如准备好两台mysql供分片使用:

  在这里我们指定javashop0、javashop1两台mysql数据库。

三、安装表结构

  1、分别javashop0、javashop1两台mysql数据库中安装所有的数据表。

  执行脚本:

  我们分表的sql脚本在如下目录:

  deploy/src/main/resources/scheme/standard/default_database.sql

  注:

  分别在javashop0、javashop1数据库中执行default_database.sql脚本进。行创建新的数据表。deploy是指javashop工程中的deploy工程目录

  2、在数据源中安装要分表的sql吧

  执行脚本:

  我们分表的sql脚本在如下目录:

  deploy/src/main/resources/scheme/standard/shard.sql

  分别在javashop0、javashop1数据库中执行shard.sql脚本进。行创建新的数据表。

  这里面的表个数是要根据您的分片策略做出相应的改变,我们拿订单表要分2个表举例,应该修改脚本为:

  CREATETABLE`es_order0`(

  `order_id`bigint(20)NOTNULLCOMMENT'主键ID',

  `trade_sn`varchar(20)DEFAULTNULLCOMMENT'交易编号',

  其他字段略

  )

  CREATETABLE`es_order1`(

  `order_id`bigint(20)NOTNULLCOMMENT'主键ID',

  `trade_sn`varchar(20)DEFAULTNULLCOMMENT'交易编号',

  其他字段略

  )

四、配置分片策略

  修改配置中心的yml文件,以上述的分片策略为例:

1、定义数据源的分片

  修改application.yaml:

  spring:

  profiles:

  #需要包含的分片策略模块

  include:goods,order,member

  #sharding分库分表配置

  shardingsphere:

  #配置sql是否显示输出,调试用,生产环境需关闭

  props:

  sql:

  show:true

  sharding:

  #定义默认数据源为:ds0

  default-data-source-name:ds0

  #定义分库的数据源,这里定义了两个数据源

  datasource:

  #这里配置所有数据源的名字

  names:ds0,ds1

  ds0:

  type:com.alibaba.druid.pool.DruidDataSource

  driver-class-name:com.mysql.jdbc.Driver

  url:jdbc:mysql://192.168.2.208:3306/javashop01?useUnicode=true&characterEncoding=utf8&autoReconnect=true

  username:root

  password:123456

  ds1:

  type:com.alibaba.druid.pool.DruidDataSource

  driver-class-name:com.mysql.jdbc.Driver

  url:jdbc:mysql://192.168.2.208:3306/javashop02?useUnicode=true&characterEncoding=utf8&autoReconnect=true

  username:root

  password:123456

2、定义表分片策略

  定义订单相关策略,修改application-order.yml:

  spring:

  #分库分表配置

  shardingsphere:

  sharding:

  tables:

  #订单表(用ordersn分库,用member_id分表)

  es_order:

  actual-data-nodes:ds$->{0..1}.es_order$->{0..2}

  database-strategy:

  inline:

  sharding-column:sn

  algorithm-expression:ds$->{newLong(sn)%2}

  table-strategy:

  inline:

  sharding-column:member_id

  algorithm-expression:es_order$->{member_id%3}

  其他模块分片策略配置文件对照表:

五、总结

  ​以上是分2个库,订单分2个表为例的相关配置,请根据您的实际情况调整其他模块的分片策略(我们的配置文件默认不进行分库分表)。

  上述就是关于开启分片支持的内容了,想了解更多详情,可以持续关注易族智汇javashop,有任何问题,欢迎一起探讨。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

后台-系统设置-扩展变量-手机广告位-内容正文底部
留言与评论(共有 0 条评论)
   
验证码: