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
Python 标准库参考指南 3.13 浮点数说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.4.8 使用线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 9.4.9 例程 LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754 16.5.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 16.5.10 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 855 17.1.1 线程本地数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858 17.1.2 线程对象 . . .0 码力 | 2246 页 | 11.74 MB | 9 月前3
Python 标准库参考指南 3.13 浮点数说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 9.4.8 使用线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 9.4.9 例程 LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 750 16.5.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751 16.5.10 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851 17.1.1 线程本地数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854 17.1.2 线程对象 . . .0 码力 | 2242 页 | 11.73 MB | 9 月前3
Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678 17 并发执行 709 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 709 17.2 multiprocessing . . . . . . . . . . . . 784 17.7 queue --- 一个同步的队列类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 786 17.8 _thread --- 底层多线程 API . . . . . . . . . . . . . . . . . . . . . decimal_point 和 thousands_sep 字段,如果它们是非 ASCII 字符 或长度超过 1 字节的话,并且 LC_NUMERIC 区域会与 LC_CTYPE 区域不一致。这个临时更改会影响其 他线程。 在 3.7 版更改: 当使用 n 类型格式化数字时,该函数在某些情况下会临时性地将 LC_CTYPE 区域设置为 LC_NUMERIC 区域。 str.format_map(mapping)0 码力 | 1961 页 | 9.14 MB | 9 月前3
Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722 17 并发执行 755 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755 17.2 multiprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837 17.8 queue --- 一个同步的队列类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 838 17.9 contextvars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841 17.10 _thread --- 底层多线程 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845 17.11 _dummy_thread0 码力 | 2052 页 | 9.74 MB | 9 月前3
Python 标准库参考指南 3.12 浮点数说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.4.8 使用线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.4.9 例程 LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 16.6.10 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 17.1.1 线程本地数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 17.1.2 线程对象 . . .0 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.12 浮点数说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 9.4.8 使用线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 9.4.9 例程 LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728 16.6.10 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 827 17.1.1 线程本地数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830 17.1.2 线程对象 . . .0 码力 | 2253 页 | 11.81 MB | 9 月前3
Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639 17 并发执行 669 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669 17.2 multiprocessing --- . . . . . . . . . . . . . 740 17.7 queue --- 一个同步的队列类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742 17.8 _thread --- 底层多线程 API . . . . . . . . . . . . . . . . . . . . . . decimal_point 和 thousands_sep 字段,如果它们是非 ASCII 字符或长度超过 1 字节的话,并且 LC_NUMERIC 区域会与 LC_CTYPE 区域不一致。这个临时更改 会影响其他线程。 在 3.7 版更改: 当使用 n 类型格式化数字时,该函数在某些情况下会临时性地将 LC_CTYPE 区域设 置为 LC_NUMERIC 区域。 str.format_map(mapping)0 码力 | 1846 页 | 9.09 MB | 9 月前3
Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338 9.4.8 使用线程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 9.4.9 LoggerAdapter 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705 16.6.9 线程安全 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706 16.6 --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799 17.1.1 线程本地数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802 17.1.2 线程对象 .0 码力 | 2207 页 | 10.45 MB | 9 月前3
Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673 17 并发执行 703 17.1 threading --- 基于线程的并行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703 17.2 multiprocessing --- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780 17.8 queue --- 一个同步的队列类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782 17.9 contextvars --- 上下文变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785 17.10 _thread --- 底层多线程 API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788 17.11 _dummy_thread0 码力 | 1927 页 | 9.69 MB | 9 月前3
共 54 条
- 1
- 2
- 3
- 4
- 5
- 6













