 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th • 棕色的区域需要 40 天以上 的时间 21 世纪的通讯 同样的一张地图 在今天, 仅仅需要毫秒级 别的时间, 一条消息可以 被全世界共享起来 互联网的规模也从单独 一个数据中心的部署方 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 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 • 棕色的区域需要 40 天以上 的时间 21 世纪的通讯 同样的一张地图 在今天, 仅仅需要毫秒级 别的时间, 一条消息可以 被全世界共享起来 互联网的规模也从单独 一个数据中心的部署方 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS 的AURORA) 这两种方式都没有从根本上解决问题, DRC 概念的出现, 让大家对分布式存储 又有了新的期待 Data Replication Center 目前携程的应用也在进行单元化的部署模0 码力 | 45 页 | 1.74 MB | 1 年前3
 Service Mesh微服务化和传统框架微服务化混合部署协同实践分享0 码力 | 11 页 | 11.76 MB | 1 年前3 Service Mesh微服务化和传统框架微服务化混合部署协同实践分享0 码力 | 11 页 | 11.76 MB | 1 年前3
 Get started with Deno息传递完成的(protobuf 序 列化) ● 用两个原生函数支持:send 和 recv ● 简化设计 ©hijiangtao Deno / JavaScript 和 TypeScript 运行时环境 1. 只有一个单独的可执行文件 2. 有一套经过审核(审计)的标准模块,确保与 Deno 兼容: deno.land/std 3. 去中心化的 Package 管理 4. 内置测试 1. 2009.6 Node 中添加了 Promise 2. 2010.2 Promise 被删除 3. Promise 是 async/await 的必要抽象 4. 标准化与 async/await 受其影响 ©hijiangtao Design Mistakes in Node require("module") 不符合 Web 标准且不明确 ©hijiangtao 规范,但引用路径必须加上后缀 Deno 不需要声明依赖,代码引用路径便是依赖声明 ©hijiangtao 但是 ©hijiangtao Deno 会是另一个「包袱重重」的 Node 么? 去中心化管理 无底洞的 node_modules 被替换为 url 引入,岂不是以后可以更轻而易举的跑路了? 缺失的版本管理 标准库与浏览器兼容 ©hijiangtao 对最新语言规范以及 TypeScript0 码力 | 43 页 | 1.51 MB | 1 年前3 Get started with Deno息传递完成的(protobuf 序 列化) ● 用两个原生函数支持:send 和 recv ● 简化设计 ©hijiangtao Deno / JavaScript 和 TypeScript 运行时环境 1. 只有一个单独的可执行文件 2. 有一套经过审核(审计)的标准模块,确保与 Deno 兼容: deno.land/std 3. 去中心化的 Package 管理 4. 内置测试 1. 2009.6 Node 中添加了 Promise 2. 2010.2 Promise 被删除 3. Promise 是 async/await 的必要抽象 4. 标准化与 async/await 受其影响 ©hijiangtao Design Mistakes in Node require("module") 不符合 Web 标准且不明确 ©hijiangtao 规范,但引用路径必须加上后缀 Deno 不需要声明依赖,代码引用路径便是依赖声明 ©hijiangtao 但是 ©hijiangtao Deno 会是另一个「包袱重重」的 Node 么? 去中心化管理 无底洞的 node_modules 被替换为 url 引入,岂不是以后可以更轻而易举的跑路了? 缺失的版本管理 标准库与浏览器兼容 ©hijiangtao 对最新语言规范以及 TypeScript0 码力 | 43 页 | 1.51 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
共 85 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9














 
 