zoukankan      html  css  js  c++  java
  • ShardingJDBC

    Sharding-JDBC简介:

    定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

    适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。
    基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。
    支持任意实现JDBC规范的数据库。目前支持MySQL,Oracle,SQLServer和PostgreSQL。

    harding-JDBC采用无中心化架构,适用于Java开发的高性能的轻量级OLTP应用;

    功能列表

    • 分库 & 分表
    • 读写分离
    • 分布式主键

    引入依赖

    <dependency>
    <groupId>org.apache.shardingsphere</groupId>
    <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
    <version>4.0.0-RC1</version>
    </dependency>

    规则配置

    Sharding-JDBC可以通过Java,YAML,Spring命名空间和Spring Boot Starter四种方式配置,开发者可根据场景选择适合的配置方式。详情请参见配置手册。
    分片算法

    通过分片算法将数据分片,支持通过=、BETWEEN和IN分片。分片算法需要应用方开发者自行实现,可实现的灵活度非常高。

    目前提供4种分片算法。由于分片算法和业务实现紧密相关,因此并未提供内置分片算法,而是通过分片策略将各种场景提炼出来,提供更高层级的抽象,并提供接口让应用开发者自行实现分片算法。

    精确分片算法
    对应PreciseShardingAlgorithm,用于处理使用单一键作为分片键的=与IN进行分片的场景。需要配合StandardShardingStrategy使用。

    范围分片算法
    对应RangeShardingAlgorithm,用于处理使用单一键作为分片键的BETWEEN AND进行分片的场景。需要配合StandardShardingStrategy使用。

    复合分片算法
    对应ComplexKeysShardingAlgorithm,用于处理使用多键作为分片键进行分片的场景,包含多个分片键的逻辑较复杂,需要应用开发者自行处理其中的复杂度。需要配合ComplexShardingStrategy使用。

    Hint分片算法
    对应HintShardingAlgorithm,用于处理使用Hint行分片的场景。需要配合HintShardingStrategy使用。

    主键策略

    默认使用雪花算法(snowflake)生成64bit的长整型数据。如果在请求并发小的情况下会出现所生产的主键都为偶数。有时候我们需要自增主键,就需要自定义主键成策略。

    sharding-jdbc事务如何处理?

    有两种,一种是local,一种是XA(基于Atomikas来实现),还有一种未实现的柔性事务。其中如果不跨库,则选择local,否则则选择XA。

    配置中心(又叫做数据治理)如何实现?

    可配置etcd或者zookeeper。用法是保持其中一个节点拥有完整的配置,其他节点基本省略配置,修改配置的话只能去第一个拥有完整配置的节点。



  • 相关阅读:
    How to build Skia canvaskit
    c++ 多线程 并发 id generator 产生器
    c++ 多态 读书笔记
    c++ 各种奇门鬼爪的构造函数 和 类的初始化
    图说C++对象模型:对象内存布局详解 强烈推荐
    C++对象模型之RTTI的实现原理
    C++ cast static_cast、dynamic_cast、const_cast和reinterpret_cast(四种类型转换运算符) 强烈推荐
    Markdown 语法
    vc 编译选项 忽略crash
    chromium 编译报错 You must installWindows 10 SDK version 10.0.19041.0 including the "Debugging Tools for Windows" feature.
  • 原文地址:https://www.cnblogs.com/xiaweicn/p/15598540.html
Copyright © 2011-2022 走看看