 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点, 平均延迟在 176ms 左右 • 到美西站点, 平均延迟在 160ms 左右 携程业务开发的需求, 对于 Redis 的数 据存储有着强依赖 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS 的AURORA) 这两种方式都没有从根本上解决问题, DRC 概念的出现, 让大家对分布式存储 又有了新的期待 Data Replication Center 目前携程的应用也在进行单元化的部署模0 码力 | 45 页 | 1.74 MB | 1 年前3 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点, 平均延迟在 176ms 左右 • 到美西站点, 平均延迟在 160ms 左右 携程业务开发的需求, 对于 Redis 的数 据存储有着强依赖 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS 的AURORA) 这两种方式都没有从根本上解决问题, DRC 概念的出现, 让大家对分布式存储 又有了新的期待 Data Replication Center 目前携程的应用也在进行单元化的部署模0 码力 | 45 页 | 1.74 MB | 1 年前3
 携程 Redis 多数据中心 双向同步实践 祝辰携程 Redis 多数据中心 双向同步实践 祝辰 祝辰 目前任职携程框架架构部门资深 研发工程师 负责框架Redis团队的开发工作 目录 1 业务背景 2 3 双向同步 4 CRDT 高可用 开篇 & 背景 Redis 在携程的规模 25,000,0 00 QPS 2000+Clust er 200TB + 跨公网同步 SHANGHAI CANADA 仓位信息供应商 国内 海外 单向同步 • 单向同步可以解决 海外重复收费的问 题 • 无法解决上海重复 收费的问题 业务痛点 仓位信息供应商 国内 海外 双向同步 • 我们希望可以通过 Redis的双向同步 解决重复收费的问 题 双向同步 Redis双向同步 双向同步 Redis Master Redis Master Redis双向同步 1. slaveof 携程 Redis 多数据中心 双向同步实践 祝辰携程 Redis 多数据中心 双向同步实践 祝辰 祝辰 目前任职携程框架架构部门资深 研发工程师 负责框架Redis团队的开发工作 目录 1 业务背景 2 3 双向同步 4 CRDT 高可用 开篇 & 背景 Redis 在携程的规模 25,000,0 00 QPS 2000+Clust er 200TB + 跨公网同步 SHANGHAI CANADA 仓位信息供应商 国内 海外 单向同步 • 单向同步可以解决 海外重复收费的问 题 • 无法解决上海重复 收费的问题 业务痛点 仓位信息供应商 国内 海外 双向同步 • 我们希望可以通过 Redis的双向同步 解决重复收费的问 题 双向同步 Redis双向同步 双向同步 Redis Master Redis Master Redis双向同步 1. slaveof- • slaveof命令 • redis变成slave, 同步数据 • Slave无法写入 Redis双向同步 1. peerof - 2. Sync data • 新的命令“peerof” • 同步数据 • 继续保持Master的 角色 如何解决 • 新的协议支持 双向同步 • 兼容Slaveof命 令 slaveof slaveof 0 码力 | 33 页 | 2.15 MB | 1 年前3
 TiDB v8.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 548 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 613 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 613 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2340 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4807 页 | 101.31 MB | 1 年前3 TiDB v8.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 548 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 613 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 613 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2340 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4807 页 | 101.31 MB | 1 年前3
 TiDB中文技术文档Column_name 这些列 不能包含 % 。加载进来时排序也是类似的。 TiDB 启动时,将一些权限检查的表加载到内存,之后使用缓存的数据来验证权限。系统会周期性的将授权表从数据 库同步到缓存,生效则是由同步的周期决定,目前这个值设定的是5分钟。 修改了授权表,如果需要立即生效,可以手动调用: 连接验证 请求验证 生效时机 TiDB 访问权限管理 - 52 - 本文档使用 书栈(BookStack 是 由服务端配置指定的 ssl-ca 签发的。 配置 MySQL 客户端使用加密连接 配置启用身份验证 使用加密连接 - 57 - 本文档使用 书栈(BookStack.CN) 构建 若要进行双向身份验证,请同时满足上述要求。 注:目前 TiDB 尚不支持强制验证客户端身份,即服务端对客户端的身份验证是可选的。若客户端在 TLS 握手时未 出示自己的身份证书,也能正常建立 TLS 连接。 可以通过 已开启 NTP 服务且在正常同步时间,此步骤可忽略。可参考如何检测 NTP 服务是否正常。 该步骤将在部署目标机器上使用系统自带软件源联网安装并启动 NTP 服务,服务使用安装包默认的 NTP server 列表,见配置文件 /etc/ntp.conf 中 server 参数,如果使用默认的 NTP server,你的机器需要连接外网。 为了让 NTP 尽快开始同步,启动 NTP 服务前,系统会0 码力 | 444 页 | 4.89 MB | 6 月前3 TiDB中文技术文档Column_name 这些列 不能包含 % 。加载进来时排序也是类似的。 TiDB 启动时,将一些权限检查的表加载到内存,之后使用缓存的数据来验证权限。系统会周期性的将授权表从数据 库同步到缓存,生效则是由同步的周期决定,目前这个值设定的是5分钟。 修改了授权表,如果需要立即生效,可以手动调用: 连接验证 请求验证 生效时机 TiDB 访问权限管理 - 52 - 本文档使用 书栈(BookStack 是 由服务端配置指定的 ssl-ca 签发的。 配置 MySQL 客户端使用加密连接 配置启用身份验证 使用加密连接 - 57 - 本文档使用 书栈(BookStack.CN) 构建 若要进行双向身份验证,请同时满足上述要求。 注:目前 TiDB 尚不支持强制验证客户端身份,即服务端对客户端的身份验证是可选的。若客户端在 TLS 握手时未 出示自己的身份证书,也能正常建立 TLS 连接。 可以通过 已开启 NTP 服务且在正常同步时间,此步骤可忽略。可参考如何检测 NTP 服务是否正常。 该步骤将在部署目标机器上使用系统自带软件源联网安装并启动 NTP 服务,服务使用安装包默认的 NTP server 列表,见配置文件 /etc/ntp.conf 中 server 参数,如果使用默认的 NTP server,你的机器需要连接外网。 为了让 NTP 尽快开始同步,启动 NTP 服务前,系统会0 码力 | 444 页 | 4.89 MB | 6 月前3
 TiDB v7.6 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 559 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 624 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 624 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2297 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4666 页 | 101.24 MB | 1 年前3 TiDB v7.6 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 559 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 624 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 624 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2297 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4666 页 | 101.24 MB | 1 年前3
 TiDB v8.0 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 564 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 629 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 629 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2353 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4805 页 | 101.28 MB | 1 年前3 TiDB v8.0 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 564 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 629 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 629 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2353 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4805 页 | 101.28 MB | 1 年前3
 TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 554 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 620 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 620 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2422 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4987 页 | 102.91 MB | 10 月前3 TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 554 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 620 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 620 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2422 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4987 页 | 102.91 MB | 10 月前3
 TiDB v6.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 521 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 576 6.4.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 576 6.4.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2122 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4049 页 | 94.00 MB | 1 年前3 TiDB v6.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 521 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 576 6.4.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 576 6.4.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2122 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4049 页 | 94.00 MB | 1 年前3
 TiDB v7.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 561 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 619 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 619 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2237 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4369 页 | 98.92 MB | 1 年前3 TiDB v7.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 561 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 619 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 619 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2237 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4369 页 | 98.92 MB | 1 年前3
 TiDB v7.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 547 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 612 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 612 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2278 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4590 页 | 100.91 MB | 1 年前3 TiDB v7.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 547 6.1.5 TiDB 集群增量数据同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 612 6.5.1 上游使用 pt-osc/gh-ost 工具的持续同步场景 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 612 6.5.2 下游存在更多列的迁移场景· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2278 13.10.12集群间双向同步 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4590 页 | 100.91 MB | 1 年前3
共 69 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7














