 Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th • 棕色的区域需要 40 天以上 的时间 21 世纪的通讯 同样的一张地图 在今天, 仅仅需要毫秒级 别的时间, 一条消息可以 被全世界共享起来 互联网的规模也从单独 一个数据中心的部署方 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 并解决因此可能出现的数据一致性问题. 需求的产生 DRC 的概念是在近年来, 云计算兴起, 多站点部署的场景下, 延伸出来对于数 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS 的AURORA) 这两种方式都没有从根本上解决问题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 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 并解决因此可能出现的数据一致性问题. 需求的产生 DRC 的概念是在近年来, 云计算兴起, 多站点部署的场景下, 延伸出来对于数 据共享的一个需求. 多站点部署的架构, 对于单元化部署的 应用来讲, 跨数据中心的数据访问一直 是一个最大的痛点. 目前很多用户 • 抑或是采取了同一份写入到两个站 点的数据库 • 抑或是跨站点写入数据库同时同步 回来(例如 AWS 的AURORA) 这两种方式都没有从根本上解决问题0 码力 | 45 页 | 1.74 MB | 1 年前3
 Kubernetes for Edge Computing across
Inter-Continental Haier Production Sites代表成果 政策扶持 工业互联网综合平台,采用数据流打通与 数据分析衍生价值的结构 Predix平台 GE联合AT&T, CISCO, IBM, INTEL等企业组建工业互联网 联盟(IIC), 发布参考架构IIRA. 基于云的开放式物联网操作系统,实现全 面的系统集成和数据融合,打破数据孤岛 Mindsphere平台 德国联邦政府支持相关行业协会建设工业4.0平台,负 责工业4.0国家战略的宣传推广,标准制定,人才培养 Ribbon Hystrix Zuul Feign Apidoc Metrics Trace Zuul Feign Springcloud: • 相对封闭 • 技术栈比较重 • 需额外维护注册中心 • 一些场景在容器平台中已不复存在 海尔框架: • Quickstart工具支持,填写应用名称,快速生成代码框架 • 充分借助容器平台功能 海尔工业互联网 - 微服务之负载均衡 V IP 公有云SLB • 支持X.509证书 路 由: • Ingress控制器+Nginx • 支持子域名到服务路由 海尔工业互联网 - 微服务之配置管理 配置中心 应用-A 应用-B 应用-C 应用-D 配置中心优势 : • 配置简单 • 易用的用户界面 • 批量动态更新配置到应用 • 编程接口简单 • 镜像与配置分离 • 按项目管理配置 海尔工业互联网 - 微服务之服务集成0 码力 | 33 页 | 4.41 MB | 1 年前3 Kubernetes for Edge Computing across
Inter-Continental Haier Production Sites代表成果 政策扶持 工业互联网综合平台,采用数据流打通与 数据分析衍生价值的结构 Predix平台 GE联合AT&T, CISCO, IBM, INTEL等企业组建工业互联网 联盟(IIC), 发布参考架构IIRA. 基于云的开放式物联网操作系统,实现全 面的系统集成和数据融合,打破数据孤岛 Mindsphere平台 德国联邦政府支持相关行业协会建设工业4.0平台,负 责工业4.0国家战略的宣传推广,标准制定,人才培养 Ribbon Hystrix Zuul Feign Apidoc Metrics Trace Zuul Feign Springcloud: • 相对封闭 • 技术栈比较重 • 需额外维护注册中心 • 一些场景在容器平台中已不复存在 海尔框架: • Quickstart工具支持,填写应用名称,快速生成代码框架 • 充分借助容器平台功能 海尔工业互联网 - 微服务之负载均衡 V IP 公有云SLB • 支持X.509证书 路 由: • Ingress控制器+Nginx • 支持子域名到服务路由 海尔工业互联网 - 微服务之配置管理 配置中心 应用-A 应用-B 应用-C 应用-D 配置中心优势 : • 配置简单 • 易用的用户界面 • 批量动态更新配置到应用 • 编程接口简单 • 镜像与配置分离 • 按项目管理配置 海尔工业互联网 - 微服务之服务集成0 码力 | 33 页 | 4.41 MB | 1 年前3
 Get started with DenoJavaScript 和 TypeScript 运行时环境 1. 只有一个单独的可执行文件 2. 有一套经过审核(审计)的标准模块,确保与 Deno 兼容: deno.land/std 3. 去中心化的 Package 管理 4. 内置测试 5. 浏览器兼容的API 6. 执行Wasm二进制文件 7. ES Modules ©hijiangtao Deno 架构图 ©hijiangtao 在博客宣布准备基于 V8 创建一个轻量级 Web 服务器并提供一套库 2009年5月,Ryan Dahl 在 GitHub 上发布了最 初版本 2010年底,Ryan Dahl 加入 Joyent 公司全职负 责 Node 的发展 2011年7月,Node 在微软支持下发布了 Windows 版本 2011年11月,Node 超越 Ruby on Rails,成为 GitHub 上关注度最高的项目 “在努力做好(Deno)这件事和推出一款可用的产品之间很难取得平 衡。因为还没有在开发工具支持特性上取得实质进展,官方团队再次推 迟发布日期。官方团队进行了详细的讨论,得出结论是 2 个月的时间足 够了。巧合的是,这是自 Deno 问世以来的两周年纪念日。因此,我们 将 2020 年 5 月 13 日定为 1.0 版本发布日期。我们鼓励贡献者在 4 月 20 日之前对 API 进行重大修改——在那之后,我们将对 API 进行完善0 码力 | 43 页 | 1.51 MB | 1 年前3 Get started with DenoJavaScript 和 TypeScript 运行时环境 1. 只有一个单独的可执行文件 2. 有一套经过审核(审计)的标准模块,确保与 Deno 兼容: deno.land/std 3. 去中心化的 Package 管理 4. 内置测试 5. 浏览器兼容的API 6. 执行Wasm二进制文件 7. ES Modules ©hijiangtao Deno 架构图 ©hijiangtao 在博客宣布准备基于 V8 创建一个轻量级 Web 服务器并提供一套库 2009年5月,Ryan Dahl 在 GitHub 上发布了最 初版本 2010年底,Ryan Dahl 加入 Joyent 公司全职负 责 Node 的发展 2011年7月,Node 在微软支持下发布了 Windows 版本 2011年11月,Node 超越 Ruby on Rails,成为 GitHub 上关注度最高的项目 “在努力做好(Deno)这件事和推出一款可用的产品之间很难取得平 衡。因为还没有在开发工具支持特性上取得实质进展,官方团队再次推 迟发布日期。官方团队进行了详细的讨论,得出结论是 2 个月的时间足 够了。巧合的是,这是自 Deno 问世以来的两周年纪念日。因此,我们 将 2020 年 5 月 13 日定为 1.0 版本发布日期。我们鼓励贡献者在 4 月 20 日之前对 API 进行重大修改——在那之后,我们将对 API 进行完善0 码力 | 43 页 | 1.51 MB | 1 年前3
 Keras: 基于 Python 的深度学习库Keras.io。 Keras 兼容的 Python 版本: Python 2.7-3.6。 1.2 指导原则 • 用户友好。Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。 Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户 操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。 • 模块化。模型被理解为由独立的、 中 你的 Keras 模型可以基于不同的深度学习后端开发。重要的是,任何仅利用内置层构建的 Keras 模型,都可以在所有这些后端中移植:用一种后端训练模型,再将它载入另一种后端中(比 如为了发布)。支持的后端有: • 谷歌的 TensorFlow 后端 • 微软的 CNTK 后端 • Theano 后端 亚马逊也正在为 Keras 开发 MXNet 后端。 如此一来,你的 Keras 来考虑下面的模型。我们试图预测 Twitter 上的一条新闻标题有多少转发和点赞数。模型的 主要输入将是新闻标题本身,即一系列词语,但是为了增添趣味,我们的模型还添加了其他的 辅助输入来接收额外的数据,例如新闻标题的发布的时间等。该模型也将通过两个损失函数进 行监督学习。较早地在模型中使用主损失函数,是深度学习模型的一个良好正则方法。 模型结构如下图所示: 让我们用函数式 API 来实现它。 主要输入接收新0 码力 | 257 页 | 1.19 MB | 1 年前3 Keras: 基于 Python 的深度学习库Keras.io。 Keras 兼容的 Python 版本: Python 2.7-3.6。 1.2 指导原则 • 用户友好。Keras 是为人类而不是为机器设计的 API。它把用户体验放在首要和中心位置。 Keras 遵循减少认知困难的最佳实践:它提供一致且简单的 API,将常见用例所需的用户 操作数量降至最低,并且在用户错误时提供清晰和可操作的反馈。 • 模块化。模型被理解为由独立的、 中 你的 Keras 模型可以基于不同的深度学习后端开发。重要的是,任何仅利用内置层构建的 Keras 模型,都可以在所有这些后端中移植:用一种后端训练模型,再将它载入另一种后端中(比 如为了发布)。支持的后端有: • 谷歌的 TensorFlow 后端 • 微软的 CNTK 后端 • Theano 后端 亚马逊也正在为 Keras 开发 MXNet 后端。 如此一来,你的 Keras 来考虑下面的模型。我们试图预测 Twitter 上的一条新闻标题有多少转发和点赞数。模型的 主要输入将是新闻标题本身,即一系列词语,但是为了增添趣味,我们的模型还添加了其他的 辅助输入来接收额外的数据,例如新闻标题的发布的时间等。该模型也将通过两个损失函数进 行监督学习。较早地在模型中使用主损失函数,是深度学习模型的一个良好正则方法。 模型结构如下图所示: 让我们用函数式 API 来实现它。 主要输入接收新0 码力 | 257 页 | 1.19 MB | 1 年前3
 Kubernetes + OAM 让开发者更简单业务研发、运维 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当 RT 上升 10% 时,自动扩容 100 个实例 发布策略 • 当金丝雀实例通过 99% 的测试时,按 每小时切 10% 流量 的节奏进行发布 YAML 文件 YAML 文件 HorizontalPodAutoscaler CustomMetricsServer Prometheus Node Custom Resource 一组容器 一组 Pod 副本 Pod 的访问入口 节点 自定义对象 声明式 API 对象 基础设施层能力 业务运维 平台工程师 业务研发 扩容策略 发布策略 分批策略 访问控制 流量配置 应用管理平台 (Openshift、Cloudfoundry、阿里内部、腾讯内部 …) 应用 CI/CD 流水线 K8s PaaS K8s 但是,K8s on Kubernetes 思考: 1. 基于 Kubernetes 2. 用户友好、高可扩展 3. 统一、标准化 理想中的应用管理平台 目标一:一个面向用户,应用为中心 CI/CD 流水线 应用 扩容策略 发布策略 分批策略 访问控制 流量配置 Pod Deployment Service Node Custom Resource 业务运维 业务研发 按需绑定 关键词:用户友好,应用层语义和抽象0 码力 | 22 页 | 10.58 MB | 1 年前3 Kubernetes + OAM 让开发者更简单业务研发、运维 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当 RT 上升 10% 时,自动扩容 100 个实例 发布策略 • 当金丝雀实例通过 99% 的测试时,按 每小时切 10% 流量 的节奏进行发布 YAML 文件 YAML 文件 HorizontalPodAutoscaler CustomMetricsServer Prometheus Node Custom Resource 一组容器 一组 Pod 副本 Pod 的访问入口 节点 自定义对象 声明式 API 对象 基础设施层能力 业务运维 平台工程师 业务研发 扩容策略 发布策略 分批策略 访问控制 流量配置 应用管理平台 (Openshift、Cloudfoundry、阿里内部、腾讯内部 …) 应用 CI/CD 流水线 K8s PaaS K8s 但是,K8s on Kubernetes 思考: 1. 基于 Kubernetes 2. 用户友好、高可扩展 3. 统一、标准化 理想中的应用管理平台 目标一:一个面向用户,应用为中心 CI/CD 流水线 应用 扩容策略 发布策略 分批策略 访问控制 流量配置 Pod Deployment Service Node Custom Resource 业务运维 业务研发 按需绑定 关键词:用户友好,应用层语义和抽象0 码力 | 22 页 | 10.58 MB | 1 年前3
 Python 标准库参考指南 3.8.20 The Python Library Reference 发布 3.8.20 Guido van Rossum and the Python development team 九月 07, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . D 版权所有 1925 Bibliography 1927 Python 模块索引 1929 索引 1933 vii viii The Python Library Reference, 发布 3.8.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它 还描述了通常包含在 Python 发行版中的一些可选组件。 件 (从单独的程序、模块、软件包直到完整的应用 开发框架),访问 Python 包索引 即可获取这些第三方包。 Contents 1 The Python Library Reference, 发布 3.8.20 2 Contents CHAPTER1 概述 ”Python 库” 中包含了几种不同的组件。 它包含通常被视为语言“核心”中的一部分的数据类型,例如数字和列表。对于这些类型,Python0 码力 | 2052 页 | 9.74 MB | 9 月前3 Python 标准库参考指南 3.8.20 The Python Library Reference 发布 3.8.20 Guido van Rossum and the Python development team 九月 07, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . D 版权所有 1925 Bibliography 1927 Python 模块索引 1929 索引 1933 vii viii The Python Library Reference, 发布 3.8.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它 还描述了通常包含在 Python 发行版中的一些可选组件。 件 (从单独的程序、模块、软件包直到完整的应用 开发框架),访问 Python 包索引 即可获取这些第三方包。 Contents 1 The Python Library Reference, 发布 3.8.20 2 Contents CHAPTER1 概述 ”Python 库” 中包含了几种不同的组件。 它包含通常被视为语言“核心”中的一部分的数据类型,例如数字和列表。对于这些类型,Python0 码力 | 2052 页 | 9.74 MB | 9 月前3
 Python 标准库参考指南 3.8.20 The Python Library Reference 发布 3.8.20 Guido van Rossum and the Python development team 九月 07, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . D 版权所有 1805 Bibliography 1807 Python 模块索引 1809 索引 1813 vii viii The Python Library Reference, 发布 3.8.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。 它还描述了通常包含在 Python 发行版中的一些可选组件。 件 (从单独的程序、模块、软件包直到完整的 应用开发框架),访问 Python 包索引 即可获取这些第三方包。 Contents 1 The Python Library Reference, 发布 3.8.20 2 Contents CHAPTER1 概述 ”Python 库” 中包含了几种不同的组件。 它包含通常被视为语言“核心”中的一部分的数据类型,例如数字和列表。对于这些类型,Python0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 The Python Library Reference 发布 3.8.20 Guido van Rossum and the Python development team 九月 07, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . D 版权所有 1805 Bibliography 1807 Python 模块索引 1809 索引 1813 vii viii The Python Library Reference, 发布 3.8.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。 它还描述了通常包含在 Python 发行版中的一些可选组件。 件 (从单独的程序、模块、软件包直到完整的 应用开发框架),访问 Python 包索引 即可获取这些第三方包。 Contents 1 The Python Library Reference, 发布 3.8.20 2 Contents CHAPTER1 概述 ”Python 库” 中包含了几种不同的组件。 它包含通常被视为语言“核心”中的一部分的数据类型,例如数字和列表。对于这些类型,Python0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 The Python Library Reference 发布 3.8.20 Guido van Rossum and the Python development team 九月 07, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . D 版权所有 1805 Bibliography 1807 Python 模块索引 1809 索引 1813 vii viii The Python Library Reference, 发布 3.8.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。 它还描述了通常包含在 Python 发行版中的一些可选组件。 件 (从单独的程序、模块、软件包直到完整的 应用开发框架),访问 Python 包索引 即可获取这些第三方包。 Contents 1 The Python Library Reference, 发布 3.8.20 2 Contents CHAPTER1 概述 ”Python 库” 中包含了几种不同的组件。 它包含通常被视为语言“核心”中的一部分的数据类型,例如数字和列表。对于这些类型,Python0 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 The Python Library Reference 发布 3.8.20 Guido van Rossum and the Python development team 九月 07, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . D 版权所有 1805 Bibliography 1807 Python 模块索引 1809 索引 1813 vii viii The Python Library Reference, 发布 3.8.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。 它还描述了通常包含在 Python 发行版中的一些可选组件。 件 (从单独的程序、模块、软件包直到完整的 应用开发框架),访问 Python 包索引 即可获取这些第三方包。 Contents 1 The Python Library Reference, 发布 3.8.20 2 Contents CHAPTER1 概述 ”Python 库” 中包含了几种不同的组件。 它包含通常被视为语言“核心”中的一部分的数据类型,例如数字和列表。对于这些类型,Python0 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.10.15 The Python Library Reference 发布 3.10.15 Guido van Rossum and the Python development team 九月 09, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . --- 数学统计函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 9.7.1 平均值以及对中心位置的评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 9.7.2 对分散程度的评估 . . . . . 版权所有 2053 Bibliography 2055 Python 模块索引 2057 索引 2061 xxiii xxiv The Python Library Reference, 发布 3.10.15 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它 还描述了通常包含在 Python 发行版中的一些可选组件。0 码力 | 2207 页 | 10.45 MB | 9 月前3 Python 标准库参考指南 3.10.15 The Python Library Reference 发布 3.10.15 Guido van Rossum and the Python development team 九月 09, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . --- 数学统计函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 9.7.1 平均值以及对中心位置的评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356 9.7.2 对分散程度的评估 . . . . . 版权所有 2053 Bibliography 2055 Python 模块索引 2057 索引 2061 xxiii xxiv The Python Library Reference, 发布 3.10.15 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它 还描述了通常包含在 Python 发行版中的一些可选组件。0 码力 | 2207 页 | 10.45 MB | 9 月前3
 Python 标准库参考指南 3.9.20 The Python Library Reference 发布 3.9.20 Guido van Rossum and the Python development team 九月 08, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . --- 数学统计函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7.1 平均值以及对中心位置的评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7.2 对分散程度的评估 . . . . . D 版权 1999 Bibliography 2001 Python 模块索引 2003 索引 2007 xxiii xxiv The Python Library Reference, 发布 3.9.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它 还描述了通常包含在 Python 发行版中的一些可选组件。0 码力 | 2146 页 | 10.17 MB | 9 月前3 Python 标准库参考指南 3.9.20 The Python Library Reference 发布 3.9.20 Guido van Rossum and the Python development team 九月 08, 2024 Python Software Foundation Email: docs@python.org Contents 1 概述 3 1.1 可用性注释 . . . . . . . . . --- 数学统计函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7.1 平均值以及对中心位置的评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343 9.7.2 对分散程度的评估 . . . . . D 版权 1999 Bibliography 2001 Python 模块索引 2003 索引 2007 xxiii xxiv The Python Library Reference, 发布 3.9.20 reference-index 描述了 Python 语言的具体语法和语义,这份库参考则介绍了与 Python 一同发行的标准库。它 还描述了通常包含在 Python 发行版中的一些可选组件。0 码力 | 2146 页 | 10.17 MB | 9 月前3
共 59 条
- 1
- 2
- 3
- 4
- 5
- 6














 
 