使用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: