AIGC在金融场景是如何落地的? 了解详情
写点什么

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:0014397
用户头像

发布了 25 篇内容, 共 25.1 次阅读, 收获喜欢 117 次。

关注

评论

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

极客时间运维进阶训练营第一周作业

独钓寒江

南京公安研究院与秒云达成生态合作,携手赋能产业智能化发展

秒云

智慧公安 生态合作

使用DataEase分析销售数据有多方便?

搞大屏的小北

数据可视化 销售数据分析 数据展示

正确理解和使用JAVA中的字符串常量池

JAVA旭阳

Java

DataEase单点登录之OIDC

搞大屏的小北

keycloak 单点登录 OIDC

用品质提升品味,贾斯特里尼&布鲁克斯葡萄酒

联营汇聚

一招搞定小白最头疼的数据大屏配色问题!

搞大屏的小北

色彩匹配 大屏配色

让数据说话-中国农业经济发展情况

搞大屏的小北

数据可视化 经济可视化 经济发展

数智为线,经纬中国:新华三勾勒出的山河锦绣

脑极体

【JVM规范】第三章-Java虚拟机编译

四月

Java JVM

弹性公网IP支持多产品灵活绑定或解绑,能为企业提供独立公网IP资源!

秃头也爱科技

有序存储对于高性能的意义

陈橘又青

算法

HVML 解释器 PurC 0.9.2 发布;持续演进!

hvmlenvoy

编程语言 解释器 HVML

vivo 游戏中心低代码平台的提效秘诀

vivo互联网技术

低代码 组件化 配置化 提效

预测式外呼算法模型的深度应用详解

中关村科金

人工智能 大数据 AI 智能

贾斯特里尼&布鲁克斯葡萄酒,历经百年的传世经典

联营汇聚

2022-12-26:有一个数组包含0、1、2三种值, 有m次修改机会,第一种将所有连通的1变为0,修改次数-1, 第二种将所有连通的2变为1或0,修改次数-2, 返回m次修改机会的情况下,让最大的0

福大大架构师每日一题

Linux 算法 Shell 福大大

华为云左少夫:面向分布式云原生 构筑无处不在的云原生基础设施

爱科技的水月

全网首发!华为云UCS正式商用

爱科技的水月

DataEase 做出来好看吗?

搞大屏的小北

数据可视化 大屏可视化 DataEase

京东金融APP-新交互技术“虚拟数字人”赋能世界杯主题营销

京东科技开发者

大数据 前端 Web 交互 虚拟人

关于佛萨奇系统开发及原力元宇宙2.0佛萨奇系统开发方案

I8O28578624

葡萄酒越贵越好?贾斯特里尼&布鲁克斯刷新你的认知

联营汇聚

拒绝内卷挖掘境外新蓝海,华为云虚拟专用网络VPN有多特别?

爱科技的水月

同是弹性公网IP,华为云弹性公网IP的优势有哪些?

秃头也爱科技

想做运维审计大屏?用这个工具就对了!

搞大屏的小北

大屏可视化 运维审计 审计大屏

极客时间运维进阶训练营第九周作业

曹张倪

如何接受或拒绝 Excel 中的修订

在下毛毛雨

C# .net Excel 工作表 跟踪修订

是不是你在找的推特GIF动图下载方法?!支持苹果安卓双系统使用!

frank

twitter 推特视频下载

华为云连接CC——让多区域协同办公更高效更稳定

秃头也爱科技

转转实时OLAP分析场景技术选型与应用实践

转转技术团队

OLAP

  • 扫码添加小助手
    领取最新资料包
Sharding-JDBC 2.0.0正式发布,分库分表 + 读写分离 + 数据治理一体化解决方案_语言 & 开发_张亮_InfoQ精选文章