sharding-jdbc配置读写分离

sharding-jdbc配置读写分离

sharding-jdbc 简介

sharding-jdbc 是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。只支持java语言

sharding-jdbc定位为轻量级java框架,使用客户端直连数据库,以jar包的形式提供服务,未使用中间件技术,无需额外部署,并无其他依赖,可以理解为增强版的JDBC驱动

sharding-jdbc完整的实现了分库分表/读写分离/分布式主键功能,并实现了柔性事务.

² 适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。

² 基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。

² 支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL。

sharding-jdbc都有哪些包?

① sharding-jdbc-config-parent 配置相关源码

② sharding-jdbc-core 核心源码

③ sharding-jdbc-doc 文档

④ sharding-jdbc-example:针对各个模块的测试用例代码;

⑤ sharding-jdbc-plugin:目前只有KeyGenerator的三种实现;

⑥ sharding-jdbc-transaction-parent:事务相关源码;

sharding-jdbc架构图(2.x架构图)

sharding-jdbc配置读写分离_第1张图片
sharding-jdbc(3.x) Sharding-Sphere正式发布: 它是由sharding-jdbc/sharding-proxy/sharding- Sidecar 组成的.

Sharding-Proxy

定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL版本,它可以使用任何兼容MySQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench等)操作数据,对DBA更加友好。

sharding-jdbc配置读写分离_第2张图片

Sharding-Sidecar

定位为Kubernetes(k8s)或Mesos的云原生数据库代理,以DaemonSet的形式代理所有对数据库的访问。 通过无中心、零侵入的方案提供与数据库交互的的啮合层,即Database Mesh,又可称数据网格。

sharding-jdbc配置读写分离_第3张图片

sharding-jdbc读写分离配置

导入jar包:



    commons-dbcp
    commons-dbcp
    1.4



    io.shardingsphere
    sharding-jdbc-spring-boot-starter
    3.0.0.M1

application.yml中添加配置

#注册需要sharding管理的数据库名称
sharding.jdbc.datasource.names=ds0,ds1

#配置ds0数据库
sharding.jdbc.datasource.ds0.type=org.apache.commons.dbcp.BasicDataSource
sharding.jdbc.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver
sharding.jdbc.datasource.ds0.url=jdbc:mysql://127.0.0.1:3307/shardtest1?serverTimezone=UTC
sharding.jdbc.datasource.ds0.username=root
sharding.jdbc.datasource.ds0.password=123456

#配置ds1数据库
sharding.jdbc.datasource.ds1.type=org.apache.commons.dbcp.BasicDataSource
sharding.jdbc.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver
sharding.jdbc.datasource.ds1.url=jdbc:mysql://127.0.0.1:3308/shardtest1?serverTimezone=UTC
sharding.jdbc.datasource.ds1.username=root
sharding.jdbc.datasource.ds1.password=123456


#负载均衡策略  随机和轮询值:random、round_robin  多个从数据库如何选择 
sharding.jdbc.config.masterslave.load-balance-algorithm-type=random
#配置主从名称
sharding.jdbc.config.masterslave.name=db1s1
#指定主数据库
sharding.jdbc.config.masterslave.master-data-source-name=ds0
#指定从数据库
sharding.jdbc.config.masterslave.slave-data-source-names=ds1
#
# 开启SQL显示,默认值: false,注意:仅配置读写分离时不会打印日志!!
sharding.jdbc.config.sharding.props.show=true

你可能感兴趣的:(其他)