Apache Sharding-JDBC项目中使用总结

使用java110框架,分布式架构,数据库配置可独立在每个模块

统一使用java110-db进行管理

项目使用feign远程调用,服务统一注册到 注册中心eureka中

在现有数据源的基础上增加新的数据源(已经在项目中进行引用的前提下,否则需要引入依赖,并且通过java代码配置数据源)

        通过yml配置进行实现,增加数据源,并且对所要操作的数据源中的表进行配置

        数据配置可以参考:  

dataSources:
  ds0: !!com.alibaba.druid.pool.DruidDataSource
    driverClassName: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/a?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8
    username: root
    password: 
    minIdle: 5
    validationQuery: SELECT 1 FROM DUAL
    initialSize: 5
    maxWait: 60000
    filters: stat,wall,log4j
    poolPreparedStatements: true

对分片规则进行配置(不配置这个操作数据库的时候会默认走主数据源):

       ( 具体可以参考官网文档)

shardingRule:
  tables:
    business_xxx:
      actualDataNodes: ds${0..1}.business_community
      databaseStrategy:
        inline:
          shardingColumn: community_id
          algorithmExpression: ds${Long.parseLong(community_id) % 2}
    sqjw_submission:
      actualDataNodes: ds2.sqjw_submission
      databaseStrategy:
        none:
    dictionary:
      actualDataNodes: ds2.dictionary
      databaseStrategy:
        none:

  bindingTables:
    - business_xxx
    - sqjw_submission
    - dictionary

  defaultDataSourceName: ds1
  defaultDatabaseStrategy:
    none:
  defaultTableStrategy:
    none:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Sharding-JDBC是一个基于Java语言开发的开源分库分表间件,用于帮助应用程序实现数据库的分片和分表功能。它通过拦截JDBC的API调用,将SQL语句解析成可执行的子SQL,并将子SQL发送到相应的数据库节点进行执行,最后将结果进行合并返回给应用程序。 使用Sharding-JDBC可以方便地将数据库水平切分为多个片(Shard),并将每个片分散到不同的数据库节点上。同时,它还支持垂直拆分(分表),可以将一张大表拆分成多张小表,提高数据库的性能和扩展性。 要使用Sharding-JDBC,首先需要在项目引入相应的依赖。你可以通过在pom.xml文件添加以下依赖来引入Sharding-JDBC: ```xml <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-core</artifactId> <version>x.x.x</version> </dependency> ``` 其,`x.x.x`是Sharding-JDBC的版本号,你可以根据需要选择合适的版本。 接下来,需要配置Sharding-JDBC的数据源和规则。配置文件可以使用XML格式或者YAML格式,具体可以根据项目需求选择。 配置文件需要指定数据源、分片规则、分表规则等信息。你可以参考Sharding-JDBC官方文档来了解更多关于配置的详细信息。 一旦配置完成,你就可以在应用程序使用Sharding-JDBC提供的DataSource来获取数据库连接,执行SQL操作。Sharding-JDBC会自动根据配置的规则进行分片和分表,使得应用程序对于分片和分表的感知几乎为零。 总的来说,使用Sharding-JDBC可以简化应用程序对于分布式数据库的访问,提高数据库的性能和扩展性。但是需要注意的是,使用Sharding-JDBC也会引入一些复杂性和额外的开销,因此在使用之前需要仔细评估项目需求和技术栈的适配性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值