TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 103 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 818 7.6.6 TiDB 主从集群数据校验和快照读· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 821 7.6.7 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1205 9.5 将 Grafana 监控数据导出成快照 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 12060 码力 | 5095 页 | 104.54 MB | 10 月前3
TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 99 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 951 9.5 将 Grafana 监控数据导出成快照 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 952 集群中已部署 TiFlash 节点。 更多信息,请参考用户文档。 2.2.1.5 数据库管理 • 日志备份数据支持客户端加密(实验特性)#55834 @Tristan1900 在之前的版本中,仅快照备份数据支持客户端加密。从 v8.4.0 起,日志备份数据也支持客户端加密。在 上传日志备份到备份存储之前,你可以选择以下方式之一对日志备份数据进行加密,从而确保备份数 据的安全性: – 使用自定义的固定密钥加密0 码力 | 5072 页 | 104.05 MB | 10 月前3
TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 83 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 885 9.5 将 Grafana 监控数据导出成快照 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 886 请求时,默认 使用新版本的 Region 副本选择器。 – 从 v8.2.0 开始,BR 快照恢复参数 --concurrency 被废弃。作为替代,你可以通过--tikv-max-restore �→ -concurrency 配置快照恢复阶段单个 TiKV 节点的任务最大并发数。 – 从 v8.2.0 开始,BR 快照恢复参数 --granularity 被废弃,粗粒度打散 Region 算法默认启用。0 码力 | 4987 页 | 102.91 MB | 10 月前3
Nacos架构&原理
Nacos 寻址机制 56 Nacos 服务发现模块 63 Nacos 注册中心的设计原理 63 Nacos 注册中心服务数据模型 80 Nacos 健康检查机制 89 Nacos 配置管理模块 97 配置⼀致性模型 97 Nacos ⾼可⽤设计 100 Nacos 高可用设计 100 Nacos 鉴权插件 103 Nacos 账号权限体系 103 Nacos 认证机制 110 Nacos 19 > Nacos 架构 内核层 插件机制:实现三个模块可分可合能力,实现扩展点 SPI 机制,用于扩展自己公司定制。 事件机制:实现异步化事件通知,SDK 数据变化异步通知等逻辑,是 Nacos 高性能的关键部分。 日志模块:管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮 助文档。 回调机制:SDK 通知数据,通过统⼀的模式回调用户处理。接口和数据结构需要具备可扩展性。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。 流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。 缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。 启动模式:按照单机模式,配置模式,服务模式,DNS 模式模式,启动不同的模块。 ⼀致性协议:解决不同数据,不同⼀致性要求情况下,不同⼀致性要求,是0 码力 | 326 页 | 12.83 MB | 10 月前3
Curve设计要点Chunkserver 数据存储 副本一致性 • 客户端 Client 对元数据增删改查 对数据增删改查基本架构 • 快照克隆服务器 独立于核心服务 储到支持S3接口的 对象存储,不限制数量 异步快照、增量快照 从快照/镜像克隆 ( lazy/非lazy ) 从快照回滚数据组织形式 • 底层 可用性 / 可靠性 扩展性 / 负载均衡 向上提供无差别文件流 • Application • 地址空间到—>chunk: 1 : N chunk有先后关系 • 创建时指定大小,lazy分配chunk • 提供4kb随机读写能力 • 支撑块设备应用场景 块设备层面的快照功能 即为文件层面快照数据组织形式 • AppendFile • 地址空间到—>chunk: 1 : 1 • 采用append的方式写入数据组织形式 • AppendFile • 地址空间到—>chunk: 998 4K随机写 4K随机读 61.12 % 67.8% 测试环境:6台服务器*20块SATA SSD,E5-2660 v4,256G,3副本场景 高性能高性能 • quorum机制:raft • 轻量级快照 • io路径上的优化 • filepool落盘零放大 • 轻量级线性一致性读 • io路径上用户空间零拷贝 10卷4K随机读写IOPS 294k 185k 330k0 码力 | 35 页 | 2.03 MB | 6 月前3
Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践加入 K8s 社 区并正式发布; 自此,CRD + controller-runtime 逐渐成为开发 operator 的首选 Operator Pattern 是官方定义的标准扩 展机制,是 K8s Native Application; Operator = CRD + control loop, i.e, Declaretive API + Automation; kubebuilder Cache Informer 机制 Cache 如何获取到本地(内存中) Informer 启动后会通过 reflector 的 list & watch 机制获取某种资源的 全量 objects。list 可以简单理解为一个 HTTP GET 请求,watch 为一 个 HTTP/2 长连接 Cache 如何保持与 API Server 一致性 list & watch 机制中,list 获取 API Server 中数据的一份快照,并记 录 ResourceVersion 版本信息,watch 从 ResourceVersion 开始,获取后 续的增量数据。 watch 通过网络异步(asynchronous)获取增量数据,所以 cache 提供 的是最终一致性(eventual consistency)。 期间遇到网络、API Server 报错等异常时,会有重试机制 Controller-runtime0 码力 | 21 页 | 3.06 MB | 9 月前3
Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信息。 得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相当 于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 40 Chapter 4. 内置类型 The Python Library Reference, 发布 3.10.15 • 对于其它类型,请查看相应的文档0 码力 | 2207 页 | 10.45 MB | 9 月前3
Python 标准库参考指南 3.10.15 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信 息。得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 对象: >>> class X: ... a = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅类型对象。 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()), 相当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版更改: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2072 页 | 10.39 MB | 9 月前3
Curve文件系统元数据持久化方案设计Log Raft Snapshot 持久化文件 key_value_pairs 其他说明 实现 1、inode、entry 的编码 2、KVStore Q&A 单靠 redis 的 AOF 机制能否保证数据不丢失? redis 的高可用、高可扩方案? redis + muliraft 存在的问题? redis 改造 vs 自己实现? redis 中哈希表实现的优点? 参考 前言 根据 filePtah; // WAL dump (WAL : curvefs.waldump : curvefs.dump) }; Q&A© XXX Page 9 of 12 单靠 redis 的 AOF 机制能否保证数据不丢失? 不能,因为 AOF 与 SET/DEL 这些操作不是同步进行的,即使刷入文件配置项 开启最高级别的 always 选项,也有可能丢失一个事件循环的数据,实现如下: appendfsync redis 目前不支持单独持久化 redis 中的某个 DB (一个 redis 实例可包含多个 DB) 或数据结构,这对于在要使用 multiraft 的场景下,每个 raft 实例需要独立的快照并不合适 如果改造 redis,初步评估了下,其工作量要比自己实现持久化的逻辑要大一些,改造主要是为了让 redis 提供单独 dump/load 一个 DB 的功能: 如果改造,dump/load0 码力 | 12 页 | 384.47 KB | 6 月前3
Python 标准库参考指南 3.13 __dir__(),该函数会尽量从对象所定义的 __dict__ 属性和其类型对象中收集信 息。结果列表不一定是完整的,并且当对象具有自定义的 __getattr__() 时还可能是不准确的。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 = 1 ... >>> X = type('X', (), dict(a=1)) 另请参阅: • 有关类的属性和方法的文档。 • 类型对象 提供给三参数形式的关键字参数会被传递给适当的元类机制 (通常为 __init_subclass__()),相 当于类定义中关键字 (除了 metaclass) 的行为方式。 另请参阅 class-customization。 在 3.6 版本发生变更: 如果拼接bytes 对象,你可以类似地使用bytes.join() 或io.BytesIO,或者你也可以使 用bytearray 对象进行原地拼接。bytearray 对象是可变的,并且具有高效的重分配机制 • 如果拼接tuple 对象,请改为扩展list 类 • 对于其它类型,请查看相应的文档 (7) 某些序列类型 (例如range) 仅支持遵循特定模式的项序列,因此并不支持序列拼接或重复。0 码力 | 2246 页 | 11.74 MB | 9 月前3
共 110 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11













