中国卓越技术团队访谈录读者调查,2022年采访嘉宾由你决定! 了解详情
写点什么

Sharding-JDBC 2.0.0 正式发布,分库分表 + 读写分离 + 数据治理一体化解决方案

  • 2017 年 12 月 06 日
  • 本文字数:1662 字

    阅读完需:约 5 分钟

Sharding-JDBC 2.0.0,在经过 3 个里程碑的迭代之后终于正式发布。Sharding-JDBC 集分库分表、读写分离、分布式主键、柔性事务和数据治理与一身,提供一站式的解决分布式关系型数据库的解决方案。

从 2.x 版本开始,Sharding-JDBC 正式将包名、Maven 坐标、码云仓库、Github 仓库和官方网站统一为 io.shardingjdbc。这意味着除了当当的无私奉献,我们也乐于采纳第三方公司的代码贡献。本次 2.0.0 的版本,由当当与数人云共同开发。

Sharding-JDBC 是一款基于 JDBC 的数据库中间件产品,对 Java 的应用程序无任何改造成本,只需配置分片规则即可无缝集成进遗留系统,使系统在数据访问层直接具有分片化和分布式治理的能力。

Sharding-JDBC 1.x 关注 SQL 兼容性、分库分表、读写分离、分布式主键、柔性事务等分片功能;Sharding-JDBC 2.x 提供了全新的 Orchestration 模块,关注数据库和数据库访问层应用的治理。2.0.0 在治理方面的主要更新是:

  1. 配置动态化。可以通过 zookeeper 或 etcd 作为注册中心动态修改数据源以及分片规则。
  2. 数据治理。提供熔断数据库访问程序对数据库的访问和禁用从库的访问的能力。
  3. 跟踪系统支持。可以通过 sky-walking 等基于 Opentracing 协议的 APM 系统中查看 Sharding-JDBC 的调用链,并提供 sky-walking 的自动探针。
  4. 提供 Sharding-JDBC 的 spring-boot-starter。

通过 2.x 提供的数据治理能力,sharding-jdbc 的架构图是:

2.x 沿用了 1.x 的 SQL 解析、SQL 路由、SQL 改写、SQL 执行以及结果归并的这一套分片化体系。与 1.x 的最大区别是增加了为数据治理使用的注册中心模块,目前支持最常用的 zookeeper 和 etcd 两种注册中心的实现。Sharding-JDBC 对分布式配置、分布式治理以及调用链路追踪分析这几个分布式应用的几个核心关注点进行了实现,与服务治理框架类似,数据库访问层的治理可以提供更加细粒度的层级进行熔断等操作。

配置动态化将 Sharding-JDBC 的配置信息放入注册中心。Sharding-JDBC 的配置较为灵活,同时支持 Java Config、YAML、Spring 命名空间和 Spring-boot-starter 四种方式。配置动态化模块将不同的配置方式统一转换为 JSON,并存储至注册中心,并通过监听配置节点的来探知配置信息的修改。配置信息修改会触发 Sharding-JDBC 数据源的重建,可以在不重启应用的前提下刷新数据源配置,以动态增减数据库和修改分片策略。

数据治理部分,Sharding-JDBC 目前主要提供熔断和禁用相关的能力,未来会做进一步的扩展。熔断是针对数据库访问的应用,可以通过设置注册中心相关节点达到熔断某一运行中的应用对数据库的访问,而不间断其其他行为。在实际应用场景中,对于某些对整体数据库带来操作压力的服务,可以采用该方式减轻数据库的压力,而相关服务会自动降级,所有对数据库的访问将返回空结果集,或通过订阅异常的方式自定义降级行为。禁用功能主要是针对于读写分离中的从库,Sharding-JDBC 支持可支持分库分表 + 读写分离或独立使用读写分离的两种方式。读写分离目前采用一主多从的方式,可以通过对某个从库的禁用以做到从库的不停机动态切换。

和服务化调用链类似,数据库访问同样需要采集、追踪和分析其调用链路。Sharding-JDBC 完全遵守 Opentracing 协议,将数据库的分片 SQL 和数据源发送至支持 Opentracing 协议的 APM 产品。Sharding-JDBC 还与 sky walking 深度合作,提供了 sky walking 的自动探针,可以让使用 Sharding-JDBC 的应用自动将调用链路追踪对接至任何标准系统。

本次 2.0 版本的开发,受到了数人云的大力支持,他们不但贡献了 Sharding-JDBC 的核心代码,还提供了 hawk 的统一配置中心平台,也会于近期开源。通过对 Sharding-JDBC 注册中心的读写,提供了对配置的图形化界面支持。Hawk 的架构图如下:

著名的apm 开源软件Sky-walking 也将于近期采用Sharding-JDBC 作为其底层存储追踪日志的存储引擎。整合了Sharding-JDBC 作为存储引擎的Sky-walking 架构图如下:

Sharding-JDBC 将与配置中心 hawk,APM 的 sky-walking 一起打造分布式服务的生态圈。

欢迎访问 Sharding-JDBC 的官网: http://shardingjdbc.io/。

2017 年 12 月 06 日 18:0013865
用户头像

发布了 24 篇内容, 共 23.2 次阅读, 收获喜欢 103 次。

关注

评论

发布
暂无评论
发现更多内容

The Data Way Vol.9|还不清楚商业化之于开源的价值?建议你看看这家公司

SphereEx

数据库 开源 播客 ShardingSphere SphereEx

【TcaplusDB知识库】[List表]删除列表所有数据示例代码

tcaplus

大数据开发之离线分析工具Hive

飞不起来的童年

大数据 hive

Tech Talk 活动预告|“公有云+5G” 时代下的开发难题,架构师大咖带你逐个击破!

亚马逊云科技 (Amazon Web Services)

网络

近数据处理(NDP)——GaussDB(for MySQL)性能提升的秘密

华为云开发者社区

MySQL 多线程 GaussDB(for MySQL) 近数据处理 算子下推

全面拆解携程云原生实践,打造智能弹性的云端酒店直连系统!

亚马逊云科技 (Amazon Web Services)

网络

低代码实现探索(十三)字典.静态实体.系统变量

Geek_e1f2dc

强化云原生基础服务,焱融科技 YRCloudFile 与秒云完成产品兼容性互认证

焱融科技

云计算 分布式 云原生 高性能 文件存储

使用 KubeSphere 管理 Amazon EKS Anywhere 集群

亚马逊云科技 (Amazon Web Services)

网络

不内卷也不躺平!打工人的福音来了

旺链科技

区块链 分布式自治组织 VoneDAO

关于dart中的late关键字,你了解多少?

坚果

flutter dart 1 月月更

开发者喜欢的“夜宵”是什么?揭秘开发者的独特“口味”

OceanBase 数据库

数据库 开源 新年 oceanbase 开发者大会

盘点 | 常用 PG 数据恢复方案概览【建议收藏】

RadonDB开源社区

数据库 postgresql RadonDB

【TcaplusDB知识库】[List表]删除列表指定位置数据示例代码

tcaplus

【TcaplusDB知识库】[List表]批量删除列表指定位置数据示例代码

tcaplus

万字总结Keras深度学习中文文本分类

华为云开发者社区

深度学习 CNN keras 文本分类 TextCNN

2022年,跨境ERP还是一门好生意吗?

ToB行业头条

服务探活的五种方式

捉虫大师

微服务 dubbo 健康检查 服务探活

🏆【Alibaba中间件技术系列】「RocketMQ技术专题」让我们一同来看看RocketMQ和Kafka索引设计

浩宇天尚

RocketMQ Alibaba Alibaba技术 1月月更 1 月月更

大画 Spark :: 网络(2)-上篇-通过网络收取消息的过程

dclar

大数据 spark Spark 源码

Findora推出的首个DEX,FairySwap现已通过Certik安全审计

区块链小八歌

APP性能分析工作台——你的最佳桌面端性能分析助手

字节跳动终端技术

字节跳动 APM Mars 应用性能监控产品

【TcaplusDB知识库】[List表]插入数据到列表指定位置示例代码

tcaplus

【TcaplusDB知识库】Tcaplus Go SDK手册(一)

tcaplus

【TcaplusDB知识库】Tcaplus Go SDK手册(二)

tcaplus

研读网络安全法律法规,提升技术管理者 “法” 商

星环科技

百度搜索中台新一代内容架构:FaaS化和智能化实战

百度Geek说

架构 后端 搜索 Faas

2021中国开源先锋33人榜单出炉:华为三位开源专家入选

科技热闻

FairySwap现已通过Certik安全审计,让人放心使用的DEX

股市老人币圈新

巧用Amazon PrivateLink——轻松访问私有终端节点Amazon S3

亚马逊云科技 (Amazon Web Services)

网络

【TcaplusDB知识库】[List表]替换列表指定位置数据示例代码

tcaplus

撑起瞬时千亿交易额的云数据库是怎么炼成的?

撑起瞬时千亿交易额的云数据库是怎么炼成的?

Sharding-JDBC 2.0.0正式发布,分库分表 + 读写分离 + 数据治理一体化解决方案-InfoQ