 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 的时间 21 世纪的通讯 同样的一张地图 在今天, 仅仅需要毫秒级 别的时间, 一条消息可以 被全世界共享起来 互联网的规模也从单独 一个数据中心的部署方 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点, 平均延迟在 176ms 左右 • 到美西站点, 平均延迟在 160ms 左右 携程业务开发的需求, 对于 Redis 的数 据存储有着强依赖. 机票的业务需要从 上游供应商处收集舱位信息, Redis 方便 的多种数据结构类型对于储存这种数据 比较方便. 同时由于供应商是在全球分布的特性, 就更需要一个能够多点写入的 Redis0 码力 | 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 的时间 21 世纪的通讯 同样的一张地图 在今天, 仅仅需要毫秒级 别的时间, 一条消息可以 被全世界共享起来 互联网的规模也从单独 一个数据中心的部署方 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点, 平均延迟在 176ms 左右 • 到美西站点, 平均延迟在 160ms 左右 携程业务开发的需求, 对于 Redis 的数 据存储有着强依赖. 机票的业务需要从 上游供应商处收集舱位信息, Redis 方便 的多种数据结构类型对于储存这种数据 比较方便. 同时由于供应商是在全球分布的特性, 就更需要一个能够多点写入的 Redis0 码力 | 45 页 | 1.74 MB | 1 年前3
 Service Mesh微服务化和传统框架微服务化混合部署协同实践分享0 码力 | 11 页 | 11.76 MB | 1 年前3 Service Mesh微服务化和传统框架微服务化混合部署协同实践分享0 码力 | 11 页 | 11.76 MB | 1 年前3
 Zabbix 5.0 Manual误。注意,在这种情况下,静态链接不会起作用,因为早期操作系统内核版本中不支持带 SOCK_CLOEXEC 标志的 socket() 系统调 用。ZBX-3395 6. Q: 尝试使用一个位置参数(如 $1)去设置一个命令中灵活的用户参数,但它不起作用。怎么解决这个问题? A: 使用两个 $$ 符合,像这样 $$1 7. Q: 在 Opera11 中,所有的下拉菜单都有一个滚动条,看起来不太美观,为什么会这样呢 密 码> zabbix < images.sql shell> mysql -uzabbix -p<您 的 密 码> zabbix < data.sql PostgreSQL 需要使用有权限的用户去创建数据库对象。以下 shell 命令将创建 zabbix 用户。在提示下请输入密码并再次确认密码。(注意,可能首 先要求输入 sudo 命令对应的用户密码): shell> sudo -u postgres sql # 下 面 步 骤 当 创 建Zabbix proxy数 据 库 时 不 需 要 执 行 sqlplus> @images.sql sqlplus> @data.sql Note: 请设置初始化参数 CURSOR_SHARING = FORCE 以获得最佳性能。 然后删掉介质存放的临时目录:Now the temporary directory can be removed: shell>0 码力 | 2715 页 | 28.60 MB | 1 年前3 Zabbix 5.0 Manual误。注意,在这种情况下,静态链接不会起作用,因为早期操作系统内核版本中不支持带 SOCK_CLOEXEC 标志的 socket() 系统调 用。ZBX-3395 6. Q: 尝试使用一个位置参数(如 $1)去设置一个命令中灵活的用户参数,但它不起作用。怎么解决这个问题? A: 使用两个 $$ 符合,像这样 $$1 7. Q: 在 Opera11 中,所有的下拉菜单都有一个滚动条,看起来不太美观,为什么会这样呢 密 码> zabbix < images.sql shell> mysql -uzabbix -p<您 的 密 码> zabbix < data.sql PostgreSQL 需要使用有权限的用户去创建数据库对象。以下 shell 命令将创建 zabbix 用户。在提示下请输入密码并再次确认密码。(注意,可能首 先要求输入 sudo 命令对应的用户密码): shell> sudo -u postgres sql # 下 面 步 骤 当 创 建Zabbix proxy数 据 库 时 不 需 要 执 行 sqlplus> @images.sql sqlplus> @data.sql Note: 请设置初始化参数 CURSOR_SHARING = FORCE 以获得最佳性能。 然后删掉介质存放的临时目录:Now the temporary directory can be removed: shell>0 码力 | 2715 页 | 28.60 MB | 1 年前3
 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 12 数据持久化 389 12.1 pickle --- Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 12.2 copyreg . . . . . . 404 12.3 shelve --- Python 对象持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12.4 marshal --- 内部 Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . 10 uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038 20 结构化标记处理工具 1039 20.1 html --- 超文本标记语言支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 12 数据持久化 389 12.1 pickle --- Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 12.2 copyreg . . . . . . 404 12.3 shelve --- Python 对象持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12.4 marshal --- 内部 Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . 10 uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038 20 结构化标记处理工具 1039 20.1 html --- 超文本标记语言支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 12 数据持久化 389 12.1 pickle --- Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 12.2 copyreg . . . . . . 404 12.3 shelve --- Python 对象持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12.4 marshal --- 内部 Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . 10 uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038 20 结构化标记处理工具 1039 20.1 html --- 超文本标记语言支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 12 数据持久化 389 12.1 pickle --- Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389 12.2 copyreg . . . . . . 404 12.3 shelve --- Python 对象持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12.4 marshal --- 内部 Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . 10 uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1038 20 结构化标记处理工具 1039 20.1 html --- 超文本标记语言支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12 数据持久化 417 12.1 pickle --- Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 12.2 . . . . . 433 12.3 shelve --- Python 对象持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 12.4 marshal --- 内部 Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111 20 结构化标记处理工具 1113 20.1 html --- 超文本标记语言支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 9 月前3 Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 12 数据持久化 417 12.1 pickle --- Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 12.2 . . . . . 433 12.3 shelve --- Python 对象持久化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 12.4 marshal --- 内部 Python 对象序列化 . . . . . . . . . . . . . . . . . . . . . . uu --- 对 uuencode 文件进行编码与解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111 20 结构化标记处理工具 1113 20.1 html --- 超文本标记语言支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 9 月前3
 Python 标准库参考指南 3.9.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.8 二进制序列类型 --- bytes, bytearray, memoryview bytearray 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.1.3 格式字符串语法 . . . . . .0 码力 | 2015 页 | 10.12 MB | 9 月前3 Python 标准库参考指南 3.9.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.8 二进制序列类型 --- bytes, bytearray, memoryview bytearray 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 6.1.3 格式字符串语法 . . . . . .0 码力 | 2015 页 | 10.12 MB | 9 月前3
 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.8 二进制序列类型 --- bytes, bytearray, memoryview bytearray 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.1.3 格式字符串语法 . . . . .0 码力 | 2072 页 | 10.39 MB | 9 月前3 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.8 二进制序列类型 --- bytes, bytearray, memoryview bytearray 操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 6.1.3 格式字符串语法 . . . . .0 码力 | 2072 页 | 10.39 MB | 9 月前3
 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.8 二进制序列类型 --- bytes, bytearray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.1.3 格式字符串语法 . . .0 码力 | 2207 页 | 10.45 MB | 9 月前3 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.8 二进制序列类型 --- bytes, bytearray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.1.3 格式字符串语法 . . .0 码力 | 2207 页 | 10.45 MB | 9 月前3
 Python 标准库参考指南 3.9.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.8 二进制序列类型 --- bytes, bytearray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.1.3 格式字符串语法 . . .0 码力 | 2146 页 | 10.17 MB | 9 月前3 Python 标准库参考指南 3.9.20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 4.7.2 printf 风格的字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.8 二进制序列类型 --- bytes, bytearray . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.8.4 printf 风格的字节串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 4.8.5 内存视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6.1.2 自定义字符串格式化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 6.1.3 格式字符串语法 . . .0 码力 | 2146 页 | 10.17 MB | 9 月前3
共 89 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9














 
 