Redis 多数据中心双向同步 祝辰
Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th 互联网的规模也从单独 一个数据中心的部署方 式转变为多数据中心, 甚 至是跨区域的部署模式 多区域部署 Serverless 分布式存储 Redis 内存数 据库 支持多种 数据结构 支持主 从架构 缓存服务 分布式锁 消息队列 计数器 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 目前已经支持上海到美国和德国的 Redis 数据同步 • 到德国法兰克福站点, 平均延迟在 176ms 左右 • 到美西站点, 平均延迟在 160ms 左右 携程业务开发的需求, 对于 Redis 的数 据存储有着强依赖. 机票的业务需要从 上游供应商处收集舱位信息, Redis 方便 的多种数据结构类型对于储存这种数据 比较方便. 同时由于供应商是在全球分布的特性, 就更需要一个能够多点写入的 Redis0 码力 | 45 页 | 1.74 MB | 1 年前3Django 官方教程翻译项目
内容简要介绍了如何使用 Django 实现一个数据库驱动的 Web 应用。 为了让您充分理解 Django 的工作原理,这份文档为您详细描述了相关的技术细节,不过这并不是 一份入门教程或者是参考文档(我们当然也为您准备了这些)。如果您想要马上开始一个项目,可以 从 实例教程(zh)开始入手,或者直接开始阅读详细的参考文档。 Django 无需数据库就可以使用,它提供了对象关系映射器(ORM)。通过此技术,你可以使用 。通过此技术,你可以使用 Python 代码来描述数据库结构。 数据模型语法提供了很多方法来描述你的数据,这解决了多年来在数据库模式中的难题。以下是一个 简明的例子: 1. # mysite/news/models.py 2. 3. from django.db import models 4. 5. class Reporter(models.Model): 6. full_name headline 然后,运行 Django 命令行工具来创建数据库表。 1. $ python manage.py migrate migrate 命令会查找所有可用的模型,如果数据库中没有与之对应的表,则会为其自动创建。 Django 也提供了其他更丰富的控制方式。 接下来,你就可以使用一套便捷而丰富的 Python API 用于访问你的数据。这些 API 是自动即时 创建的,你不用编写其他任何代码。0 码力 | 103 页 | 1.86 MB | 1 年前3OpenShift Container Platform 4.14 Operator
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.18. 将软件包清单项目迁移到捆绑包格式 5.19. OPERATOR SDK CLI 参考 第 第 6 章 章 集群 集群 OPERATOR 参考 参考 6.1. CLUSTER BAREMETAL OPERATOR ClusterServiceVersions (CSV) 和自定义资源定义 (CRD) 以便在集群中创建, 并存储有关软件包和频道的 Operator 元数据。它运行在 Kubernetes 或 OpenShift 集群中,向 OLM 提供这些 Operator 目录数据。 OperatorHub OperatorHub 是一个 web 控制台,供集群管理员用来发现并选择要在其集群上安装的 Operator。它 Bundle Format 是 Operator Framework 引入的新打包格式。为提高可伸缩性并为自行托管 目录的上游用户提供更好地支持,Bundle Format 规格简化了 Operator 元数据的发布。 Operator 捆绑包代表 Operator 的单一版本。磁盘上的捆绑包清单是容器化的,并作为捆绑包镜像提供, 第 第 2 章 章 了解 了解 OPERATOR 7 Operator0 码力 | 423 页 | 4.26 MB | 1 年前3OpenShift Container Platform 4.8 Service Mesh
MESH 2.5. 安装 SERVICE MESH 2.6. 在 SERVICE MESH 中自定义安全性 2.7. 流量管理 2.8. 在 SERVICE MESH 上部署应用程序 2.9. 数据可视化和可观察性 2.10. 自定义资源 2.11. 使用 3SCALE ISTIO 适配器 2.12. 删除 SERVICE MESH 3 3 3 27 32 33 38 40 42 过信任度不同的网络进行传输。 策略强制 - 对服务间的交互应用机构策略,确保实施访问策略,并在用户间分配资源。通过配置 网格就可以对策略进行更改,而不需要修改应用程序代码。 遥测 - 了解服务间的依赖关系以及服务间的网络数据流,从而可以快速发现问题。 1.2. SERVICE MESH 发行注记 1.2.1. 使开源包含更多 红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、 的新功能 此 Red Hat OpenShift Service Mesh 发行版本解决了 CVE 报告的安全漏洞问题以及程序错误。 另外,这个版本有以下新特性: 在 must-gather 数据收集工具中添加了一个选项,用于从指定的 Service Mesh control plane 命 名空间中收集信息。如需更多信息,请参阅 OSSM-351。 提高了带有数百个命名空间的 Service0 码力 | 344 页 | 3.04 MB | 1 年前3MySQL 企业版功能介绍
ORACLE 产品介绍 MySQL 企业版 全球广受欢迎的开源数据库 重要特性 Oracle MySQL 服务云 MySQL 数据库 MySQL 企业级备份 MySQL 企业级高可用性 MySQL 企业级可扩展性 MySQL 企业级身份验证 MySQL 企业级 TDE 多种性能图表 MySQL Workbench Oracle 标准支持服务 “借助 MySQL Query Analyzer, 我们可以识别和分析存在问题的 SQL 代码,同时将数据库性能提 升两倍。更加重要的是,我们在三 天内就完成了这一任务,而过去则 需要数周之久。” —Keith Souhrada, 软件开发工程师, Big Fish Games MySQL 分组复制来确保数据库的高可用性 通过 MySQL 企业级可扩展性应对指数级增长的用户和数据量 通过 MySQL 企业级备份执行热备份和恢复,从而降低数据丢失的风险 通过 MySQL 企业级安全性来利用现有安全基础架构 使用加密、密钥生成和数字签名保护敏感数据 通过 MySQL 企业级防火墙阻止针对数据库的攻击(如 SQL 注入)0 码力 | 6 页 | 509.78 KB | 1 年前3Zabbix 6.0 Manual
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1721 12 数据库错误处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1741 5 Zabbix 使用手册 欢迎查阅 Zabbix 用户使用手册。 Zabbix 产品手册由原厂 Zabbix 技术团队创建、Zabbix 中国——上海宏时数据系统有限公司组织开源社区志愿者翻译并维护。希望能帮助 用户更好地使用 Zabbix,解决和管理日常 IT 运维监控遇到的各种问题。翻译虽然结束,优化并未停止,如有优化反馈、申请成为译者, 欢迎联系小 Zabbix 应用 是一种快速体验 Zabbix 使用的替代方案。 配置 是本手册中最大和最重要的部分之一。它包含大量关于如何设置 Zabbix 以监控你的环境的基本建议,从设置主机到获取基本数据到 查看数据到配置通知和远程命令以在出现问题时执行。 IT 服务 部分详细介绍了如何使用 Zabbix 对监控环境进行高级概述。 Web 监控 可以帮助您了解如何监控网站的可用性。 虚拟机监控 提供了配置0 码力 | 1741 页 | 22.78 MB | 1 年前3Flask入门教程
11 1.12 1.13 1.14 1.15 目录 简介 前言 第 1 章:准备工作 第 2 章:Hello, Flask! 第 3 章:模板 第 4 章:静态文件 第 5 章:数据库 第 6 章:模板优化 第 7 章:表单 第 8 章:用户认证 第 9 章:测试 第 10 章:组织你的代码 第 11 章:部署上线 小挑战 后记 2 Flask 入门教程 这是一本 Team 成员。你可以在我 的个人主页了解更多关于我的信息。 目录 前言 第 1 章:准备工作 第 2 章:Hello, Flask! 第 3 章:模板 第 4 章:静态文件 第 5 章:数据库 第 6 章:模板优化 第 7 章:表单 第 8 章:用户认证 第 9 章:测试 第 10 章:组织你的代码 第 11 章:部署上线 小挑战 后记 版权信息 书名:Flask 入门教程 touch .env .flaskenv 第 2 章:Hello, Flask! 17 .flaskenv 用来存储 Flask 命令行系统相关的公开环境变量;而 .env 则用来存储敏 感数据,不应该提交进Git仓库,我们把 .env 添加到 .gitignore 文件的结尾(新建一 行)来让 Git 忽略它。你可以使用编辑器执行这个操作: .env 在新创建的 .flaskenv0 码力 | 127 页 | 7.62 MB | 1 年前3PyWebIO v1.2.3 Documentation
支持使用Url指定图片 What’s new in PyWebIO 0.3 2020 5/13 Highlights 支持输出 bokeh 数据可视化图表, 文档 添加 session.get_info() 获取会话相关信息 前端js代码迁移typescript output.put_table() 支持跨行/列单元格, 单元格内容支持使用 put_xxx 类输出函数 Detailed What’s new in PyWebIO 0.2 2020 4/30 Highlights 支持与Django、aiohttp Web框架整合 支持使用 plotly、pyecharts 等第三方库进行数据可视化 与Web框架整合时支持同时使用基于线程和协程的会话实现 添加 defer_call() 、 hold() 会话控制函数 添加 put_image() 输出图像、 remove(anchor) 会话内的每个执行单元使用唯一的task_id进行标识,由于会话内的输入需要区 分执行单元,所以每个表单提交时, 除了表单的内容以外,还会携带表单所在 的执行单元的task_id,这样,后台会话才可以知道该将表单数据传递给哪个执 行单元。 PyWebIO会话是由事件驱动的,这些事件来自用户在页面上的操作,比如提交 表单,点击按钮,这些事件会通过http请求或websocket连接发送到后端框架。 后端框架维0 码力 | 119 页 | 7.43 MB | 1 年前3PyWebIO v1.2.2 Documentation
支持使用Url指定图片 What’s new in PyWebIO 0.3 2020 5/13 Highlights 支持输出 bokeh 数据可视化图表, 文档 添加 session.get_info() 获取会话相关信息 前端js代码迁移typescript output.put_table() 支持跨行/列单元格, 单元格内容支持使用 put_xxx 类输出函数 Detailed What’s new in PyWebIO 0.2 2020 4/30 Highlights 支持与Django、aiohttp Web框架整合 支持使用 plotly、pyecharts 等第三方库进行数据可视化 与Web框架整合时支持同时使用基于线程和协程的会话实现 添加 defer_call() 、 hold() 会话控制函数 添加 put_image() 输出图像、 remove(anchor) 会话内的每个执行单元使用唯一的task_id进行标识,由于会话内的输入需要区 分执行单元,所以每个表单提交时, 除了表单的内容以外,还会携带表单所在 的执行单元的task_id,这样,后台会话才可以知道该将表单数据传递给哪个执 行单元。 PyWebIO会话是由事件驱动的,这些事件来自用户在页面上的操作,比如提交 表单,点击按钮,这些事件会通过http请求或websocket连接发送到后端框架。 后端框架维0 码力 | 119 页 | 7.41 MB | 1 年前3PyWebIO v1.3.2 Documentation
支持使用Url指定图片 What’s new in PyWebIO 0.3 2020 5/13 Highlights 支持输出 bokeh 数据可视化图表, 文档 添加 session.get_info() 获取会话相关信息 前端js代码迁移typescript output.put_table() 支持跨行/列单元格, 单元格内容支持使用 put_xxx 类输出函数 Detailed What’s new in PyWebIO 0.2 2020 4/30 Highlights 支持与Django、aiohttp Web框架整合 支持使用 plotly、pyecharts 等第三方库进行数据可视化 与Web框架整合时支持同时使用基于线程和协程的会话实现 添加 defer_call() 、 hold() 会话控制函数 添加 put_image() 输出图像、 remove(anchor) 会话内的每个执行单元使用唯一的task_id进行标识,由于会话内的输入需要区 分执行单元,所以每个表单提交时, 除了表单的内容以外,还会携带表单所在 的执行单元的task_id,这样,后台会话才可以知道该将表单数据传递给哪个执 行单元。 PyWebIO会话是由事件驱动的,这些事件来自用户在页面上的操作,比如提交 表单,点击按钮,这些事件会通过http请求或websocket连接发送到后端框架。 后端框架维0 码力 | 133 页 | 7.44 MB | 1 年前3
共 98 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10