解密SHARDINGSPHERE与SERVICECOMB联合打造的分布式事务解决方案
servicecomb.apache.org github.com/apache?q=servicecomb 解密SHARDINGSPHERE与SERVICECOMB 联合打造的分布式事务解决方案 京东数科-潘娟 panjuan@apache.org 2 github.com/apache?q=servicecomb servicecomb.apache.org Apache ShardingSphere生态 ShardingSphere生态 1 Apache ShardingSphere事务体系 2 Apache ServiceComb-saga 3 分布式事务解决方案的合作与探索 4 目录 CONTENTS 3 github.com/apache?q=servicecomb servicecomb.apache.org Apache ShardingSphere简介 完全开源 Apache的首个分布式数据库中间件0 码力 | 19 页 | 4.18 MB | 1 年前3Apache ShardingSphere 中文文档 5.0.0-alpha
版本开始致力于可插拔架构,项目的功能组件能够灵活的以可插拔的方式 进行扩展。目前,数据分片、读写分离、数据加密、影子库压测等功能,以及对 MySQL、PostgreSQL、 SQLServer、Oracle 等 SQL 与协议的支持,均通过插件的方式织入项目。开发者能够像使用积木一样定 制属于自己的独特系统。Apache ShardingSphere 目前已提供数十个 SPI 作为系统的扩展点,而且仍在不 断增加中。 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。通过无中心、零 侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格。 Database Mesh 的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是 交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。使用 Database Mesh,访问数据库的 应用和数据库终 ShardingSphere‐JDBC 和 ShardingSphere‐Proxy,并采用同一注册中心统一配置分片策略,能够灵活的搭建适用于各种场景的应 用系统,使得架构师更加自由地调整适合与当前业务的最佳系统架构。 1.2 功能列表 1.2.1 数据分片 • 分库 & 分表 • 读写分离 • 分片策略定制化 • 无中心化分布式主键 1.2.2 分布式事务 • 标准化事务接口0 码力 | 301 页 | 3.44 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.0
2.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.2 内存模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.3 单机模式 . . 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。通过无中心、零 侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格。 Database Mesh 的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是 交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。使用 Database Mesh,访问数据库的 应用和数据库终0 码力 | 406 页 | 4.40 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.1
2.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.2 内存模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.3 单机模式 . . 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。通过无中心、零 侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格。 Database Mesh 的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是 交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。使用 Database Mesh,访问数据库的 应用和数据库终0 码力 | 409 页 | 4.47 MB | 1 年前3Apache ShardingSphere 中文文档 5.0.0
2.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.2 内存模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.3 单机模式 . . 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。通过无中心、零 侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格。 Database Mesh 的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是 交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。使用 Database Mesh,访问数据库的 应用和数据库终0 码力 | 385 页 | 4.26 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.2
2.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.2 内存模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.2.3 单机模式 . . 数据库的上层视角,关注他们之间的协作多于数据库自身。 连接、增量和 可插拔是 Apache ShardingSphere 的核心概念。 • 连接:通过对数据库协议、SQL 方言以及数据库存储的灵活适配,快速的连接应用与多模式的异构 数据库; • 增量:获取数据库的访问流量,并提供流量重定向(数据分片、读写分离、影子库)、流量变形(数 据加密、数据脱敏)、流量鉴权(安全、审计、权限)、流量治理(熔断、限流)以及流量分析(服 的云原生数据库代理,以 Sidecar 的形式代理所有对数据库的访问。通过无中心、零 侵入的方案提供与数据库交互的啮合层,即 Database Mesh,又可称数据库网格。 Database Mesh 的关注重点在于如何将分布式的数据访问应用与数据库有机串联起来,它更加关注的是 交互,是将杂乱无章的应用与数据库之间的交互进行有效地梳理。使用 Database Mesh,访问数据库的 应用和数据库终0 码力 | 446 页 | 4.67 MB | 1 年前3Apache ShardingSphere 中文文档 5.4.1
上层的标准,同时 通过内置 DistSQL 为应用提供标准化的连接方式。 2.2 增强:数据库计算增强引擎 在原生数据库基础能力之上,提供分布式及流量增强方面的能力。前者可突破底层数据库在计算与存储 上的瓶颈,后者通过对流量的变形、重定向、治理、鉴权及分析能力提供更为丰富的数据应用增强能力。 2.3 可插拔:构建数据库功能生态 Apache ShardingSphere 的可插拔架构划分为 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ${latest.release.version} 更改为实际的版本号。 3. 创建 YAML 配置文件 # JDBC 逻辑库名称。在集群模式中,使用该参数来联通 ShardingSphere-JDBC 与 ShardingSphere- Proxy。 # 默认值:logic_db databaseName (?): mode: dataSources: rules: - !FOO_XXX0 码力 | 530 页 | 4.49 MB | 1 年前3Apache ShardingSphere 中文文档 5.3.2
上层的标准,同时 通过内置 DistSQL 为应用提供标准化的连接方式。 2.2 增强:数据库计算增强引擎 在原生数据库基础能力之上,提供分布式及流量增强方面的能力。前者可突破底层数据库在计算与存储 上的瓶颈,后者通过对流量的变形、重定向、治理、鉴权及分析能力提供更为丰富的数据应用增强能力。 2.3 可插拔:构建数据库功能生态 Apache ShardingSphere 的可插拔架构划分为 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ${latest.release.version} 更改为实际的版本号。 3. 创建 YAML 配置文件 # JDBC 逻辑库名称。在集群模式中,使用该参数来联通 ShardingSphere-JDBC 与 ShardingSphere- Proxy。 # 默认值:logic_db databaseName (?): mode: dataSources: rules: - !FOO_XXX0 码力 | 508 页 | 4.44 MB | 1 年前3Apache ShardingSphere v5.5.0 中文文档
上层的标准,同时 通过内置 DistSQL 为应用提供标准化的连接方式。 2.2 增强:数据库计算增强引擎 在原生数据库基础能力之上,提供分布式及流量增强方面的能力。前者可突破底层数据库在计算与存储 上的瓶颈,后者通过对流量的变形、重定向、治理、鉴权及分析能力提供更为丰富的数据应用增强能力。 2.3 可插拔:构建数据库功能生态 Apache ShardingSphere 的可插拔架构划分为 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 3.3 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。 ${latest.release.version} 更改为实际的版本号。 3. 创建 YAML 配置文件 # JDBC 逻辑库名称。在集群模式中,使用该参数来联通 ShardingSphere-JDBC 与 ShardingSphere- Proxy。 # 默认值:logic_db databaseName (?): mode: dataSources: rules: - !FOO_XXX0 码力 | 557 页 | 4.61 MB | 1 年前3Apache ShardingSphere 中文文档 5.2.0
Apache ShardingSphere document, v5.2.0 1.1.2 产品功能 特性 定义 数 据 分片 数据分片,是应对海量数据存储与计算的有效手段。ShardingSphere 提供基于底层数据库之 上,可计算与存储水平扩展的分布式数据库解决方案。 分 布 式 事 务 事务能力,是保障数据库完整、安全的关键技术,也是数据库的核心技术之一。ShardingSphere 的标准,同时 通过内置 DistSQL 为应用提供标准化的连接方式。 1.2.2 增强:数据库计算增强引擎 在原生数据库基础能力之上,提供分布式及流量增强方面的能力。前者可突破底层数据库在计算与存储 上的瓶颈,后者通过对流量的变形、重定向、治理、鉴权及分析能力提供更为丰富的数据应用增强能力。 1.2. 设计哲学 4 Apache ShardingSphere document, v5.2 MySQL/PostgreSQL 连接消耗数 高 低 异构语言 仅 Java 任意 性能 损耗低 损耗略高 无中心化 是 否 静态入口 无 有 混合部署架构 ShardingSphere‐JDBC 采用无中心化架构,与应用程序共享资源,适用于 Java 开发的高性能的轻量级 OLTP 应用;ShardingSphere‐Proxy 提供静态入口以及异构语言的支持,独立于应用程序部署,适用于 OLAP 应用以及对分片数据库进行管理和运维的场景。0 码力 | 449 页 | 5.85 MB | 1 年前3
共 24 条
- 1
- 2
- 3