 孟浩然-Apache ShardingSphere 架构解析&应用实践Apache ShardingSphere 架构解析与应用实践 孟浩然 2021/12/11 01 孟浩然 SphereEx 高级研发工程师 Apache ShardingSphere PMC 曾就职京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前就职 SphereEx , 专 注于 Apache ShardingSphere 分布式数据库中间件研发以及开源社区建设 1 1. Apache ShardingSphere 5.0.0 架构解析 2. 5.0.0 应用实践 3. Database Plus 解决方案 目录 产 品 定 位 l 构建异构数据库的上层标准和生态 l 提供精准化和差异化的能力 产 品 定 位 4.X 5.X 定位 分 库 分 表 中 间 件 分 布 式 数 据 库 生 态 系 统 功能 提 供 基 础 功 能 提 供 基 础 品 架 构 部 署 架 构 l ShardingSphere-JDBC 采用无中心化架 构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用; l ShardingSphere-Proxy 提供静态入口 以及异构语言的支持,独立于应用程序 部署,适用于 OLAP 应用以及对分片数 据库进行管理和运维的场景。 整 体 架 构 l L1 内核层:面向数据库内核, 包括数据库事务引擎,查询优0 码力 | 31 页 | 2.36 MB | 1 年前3 孟浩然-Apache ShardingSphere 架构解析&应用实践Apache ShardingSphere 架构解析与应用实践 孟浩然 2021/12/11 01 孟浩然 SphereEx 高级研发工程师 Apache ShardingSphere PMC 曾就职京东科技,负责数据库产品研发,热爱开源,关注数据库生态,目前就职 SphereEx , 专 注于 Apache ShardingSphere 分布式数据库中间件研发以及开源社区建设 1 1. Apache ShardingSphere 5.0.0 架构解析 2. 5.0.0 应用实践 3. Database Plus 解决方案 目录 产 品 定 位 l 构建异构数据库的上层标准和生态 l 提供精准化和差异化的能力 产 品 定 位 4.X 5.X 定位 分 库 分 表 中 间 件 分 布 式 数 据 库 生 态 系 统 功能 提 供 基 础 功 能 提 供 基 础 品 架 构 部 署 架 构 l ShardingSphere-JDBC 采用无中心化架 构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用; l ShardingSphere-Proxy 提供静态入口 以及异构语言的支持,独立于应用程序 部署,适用于 OLAP 应用以及对分片数 据库进行管理和运维的场景。 整 体 架 构 l L1 内核层:面向数据库内核, 包括数据库事务引擎,查询优0 码力 | 31 页 | 2.36 MB | 1 年前3
 Apache ShardingSphere Shadow DB 及在 CyborgFlow 中的应用 - 侯阳com/apache/shardingsphere OpenSEC: https://community.sphere-ex.com 文字 Apache ShardingSphere Overview Shadow DB 应用场景 Shadow DB 架构设计 全链路压测:流量规划,比如双 11,618 等 灰度发布:指定测试用户的体验版本发布 服务预热:预热数据隔离 对比测试:基于版本的对比测试 Shadow database-shadow 数据路由 cyborg-database-shadow sw8-correlation: cyborg-flow=true CyborgFlow POC1 文字 直接调用服务应用模拟生产环境调用 调用 cyborg-flow-gateway 网关模拟压测环境调用 CyborgFlow POC2 文字 真实流量的调用链路 压测流量的调用链路 CyborgFlow POC30 码力 | 22 页 | 3.83 MB | 1 年前3 Apache ShardingSphere Shadow DB 及在 CyborgFlow 中的应用 - 侯阳com/apache/shardingsphere OpenSEC: https://community.sphere-ex.com 文字 Apache ShardingSphere Overview Shadow DB 应用场景 Shadow DB 架构设计 全链路压测:流量规划,比如双 11,618 等 灰度发布:指定测试用户的体验版本发布 服务预热:预热数据隔离 对比测试:基于版本的对比测试 Shadow database-shadow 数据路由 cyborg-database-shadow sw8-correlation: cyborg-flow=true CyborgFlow POC1 文字 直接调用服务应用模拟生产环境调用 调用 cyborg-flow-gateway 网关模拟压测环境调用 CyborgFlow POC2 文字 真实流量的调用链路 压测流量的调用链路 CyborgFlow POC30 码力 | 22 页 | 3.83 MB | 1 年前3
 Apache ShardingSphere ElasticJob 中文文档 2023 年 11 月 01 日. 71 6.3.1 部署指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 应用部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 运维平台和 RESTFul & 功能 本章节阐述 ElasticJob 相关的概念与功能,更多使用细节请阅读用户手册。 5.1 调度模型 ElasticJob 是面向进程内的线程级调度框架。通过它,作业能够透明化的与业务应用系统相结合。它能够 方便的与 Spring 、Dubbo 等 Java 框架配合使用,在作业中可自由使用 Spring 注入的 Bean,如数据源连 接池、Dubbo 远程服务等,更加方便的贴合业务开发。 开启失效转移功能,ElasticJob 会监控作业每一分片的执行状态,并将其写入注册中心,供其他节点感知。 在一次运行耗时较长且间隔较长的作业场景,失效转移是提升作业运行实时性的有效手段;对于间隔较 短的作业,会产生大量与注册中心的网络通信,对集群的性能产生影响。而且间隔较短的作业并未见得 关注单次作业的实时性,可以通过下次作业执行的重分片使所有的分片正确执行,因此不建议短间隔作 业开启失效转移。 另外需要注意的是,作业本身的幂等性,是保证失效转移正确性的前提。0 码力 | 98 页 | 1.97 MB | 1 年前3 Apache ShardingSphere ElasticJob 中文文档 2023 年 11 月 01 日. 71 6.3.1 部署指南 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 应用部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 运维平台和 RESTFul & 功能 本章节阐述 ElasticJob 相关的概念与功能,更多使用细节请阅读用户手册。 5.1 调度模型 ElasticJob 是面向进程内的线程级调度框架。通过它,作业能够透明化的与业务应用系统相结合。它能够 方便的与 Spring 、Dubbo 等 Java 框架配合使用,在作业中可自由使用 Spring 注入的 Bean,如数据源连 接池、Dubbo 远程服务等,更加方便的贴合业务开发。 开启失效转移功能,ElasticJob 会监控作业每一分片的执行状态,并将其写入注册中心,供其他节点感知。 在一次运行耗时较长且间隔较长的作业场景,失效转移是提升作业运行实时性的有效手段;对于间隔较 短的作业,会产生大量与注册中心的网络通信,对集群的性能产生影响。而且间隔较短的作业并未见得 关注单次作业的实时性,可以通过下次作业执行的重分片使所有的分片正确执行,因此不建议短间隔作 业开启失效转移。 另外需要注意的是,作业本身的幂等性,是保证失效转移正确性的前提。0 码力 | 98 页 | 1.97 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 海量数据高并发的 OLTP 场景0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 海量数据高并发的 OLTP 场景0 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.0ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.1.2 使用限制 . . ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 使用限制 . . 1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 海量数据高并发的 OLTP 场景0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 使用限制 . . 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document0 码力 | 446 页 | 4.67 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.2ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 使用限制 . . 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document0 码力 | 446 页 | 4.67 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署 配合使用的产品组成。它们均提供标准化的基于数据库作为存储节点的增量功能,可适用于如 Java 同构、 异构语言、云原生等各种多样化的应用场景。 关系型数据库当今依然占有巨大市场份额,是企业核心系统的基石,未来也难于撼动,我们更加注重在 原有基础上提供增量,而非颠覆。 1 Apache ShardingSphere document MySQL/PostgreSQL 协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat 等)操作数据,对 DBA 更加友好。 • 向应用程序完全透明,可直接当做 MySQL/PostgreSQL 使用; • 适用于任何兼容 MySQL/PostgreSQL 协议的的客户端。 1.1. 简介 2 Apache ShardingSphere0 码力 | 406 页 | 4.40 MB | 1 年前3
共 20 条
- 1
- 2













