 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 Nacos 架构 内核层  插件机制:实现三个模块可分可合能力,实现扩展点 SPI 机制,用于扩展自己公司定制。  事件机制:实现异步化事件通知,SDK 数据变化异步通知等逻辑,是 Nacos 高性能的关键部分。  日志模块:管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮 助文档。  回调机制:SDK 通知数据,通过统⼀的模式回调用户处理。接口和数据结构需要具备可扩展性。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。  流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。  缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。  启动模式:按照单机模式,配置模式,服务模式,DNS 模式模式,启动不同的模块。  ⼀致性协议:解决不同数据,不同⼀致性要求情况下,不同⼀致性要求,是0 码力 | 326 页 | 12.83 MB | 9 月前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 Nacos 架构 内核层  插件机制:实现三个模块可分可合能力,实现扩展点 SPI 机制,用于扩展自己公司定制。  事件机制:实现异步化事件通知,SDK 数据变化异步通知等逻辑,是 Nacos 高性能的关键部分。  日志模块:管理日志分类,日志级别,日志可移植性(尤其避免冲突),日志格式,异常码+帮 助文档。  回调机制:SDK 通知数据,通过统⼀的模式回调用户处理。接口和数据结构需要具备可扩展性。 容量管理:管理每个租户,分组下的容量,防止存储被写爆,影响服务可用性。  流量管理:按照租户,分组等多个维度对请求频率,长链接个数,报文大小,请求流控进行控制。  缓存机制:容灾目录,本地缓存,Server 缓存机制,是 Nacos 高可用的关键。  启动模式:按照单机模式,配置模式,服务模式,DNS 模式模式,启动不同的模块。  ⼀致性协议:解决不同数据,不同⼀致性要求情况下,不同⼀致性要求,是0 码力 | 326 页 | 12.83 MB | 9 月前3
 TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 99 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 100 4.2.2 使用 TiDB 的增删改查 SQL · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · spill-dir,从而确保系统的持续运行 #17356 @LykxSassinator – 优 化 存 在 大 量 DELETE 版 本 时 RocksDB 的 compaction 触 发 机 制, 以 加 快 磁 盘 空 间 回 收 #17269 @AndreMouche – 支持在线更改写入流量控制 (flow-control) 的相关配置 #17395 @glorv – 优化空表和小 Region 场景下 Region0 码力 | 5072 页 | 104.05 MB | 10 月前3 TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 99 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 100 4.2.2 使用 TiDB 的增删改查 SQL · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · spill-dir,从而确保系统的持续运行 #17356 @LykxSassinator – 优 化 存 在 大 量 DELETE 版 本 时 RocksDB 的 compaction 触 发 机 制, 以 加 快 磁 盘 空 间 回 收 #17269 @AndreMouche – 支持在线更改写入流量控制 (flow-control) 的相关配置 #17395 @glorv – 优化空表和小 Region 场景下 Region0 码力 | 5072 页 | 104.05 MB | 10 月前3
 TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 103 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 104 4.2.2 使用 TiDB 的增删改查 SQL · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · spill-dir,从而确保系统的持续运行 #17356 @LykxSassinator – 优 化 存 在 大 量 DELETE 版 本 时 RocksDB 的 compaction 触 发 机 制, 以 加 快 磁 盘 空 间 回 收 #17269 @AndreMouche – 支持在线更改写入流量控制 (flow-control) 的相关配置 #17395 @glorv – 优化空表和小 Region 场景下 Region0 码力 | 5095 页 | 104.54 MB | 10 月前3 TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 103 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 104 4.2.2 使用 TiDB 的增删改查 SQL · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · spill-dir,从而确保系统的持续运行 #17356 @LykxSassinator – 优 化 存 在 大 量 DELETE 版 本 时 RocksDB 的 compaction 触 发 机 制, 以 加 快 磁 盘 空 间 回 收 #17269 @AndreMouche – 支持在线更改写入流量控制 (flow-control) 的相关配置 #17395 @glorv – 优化空表和小 Region 场景下 Region0 码力 | 5095 页 | 104.54 MB | 10 月前3
 TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 83 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 84 4.2.2 使用 TiDB 的增删改查 SQL · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · #53312 @djshow832 – 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 #52133 @yibin87 – 优化 IndexLookUp 算子在回表数据量较多(大于 1024 行)时的性能开销 #53871 @crazycs520 – 在 MPP 负载均衡时移除不包含任何 Region 的 Store #52313 @xzhangxian10080 码力 | 4987 页 | 102.91 MB | 10 月前3 TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 83 4.1.2 TiDB 事务机制 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 84 4.2.2 使用 TiDB 的增删改查 SQL · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · #53312 @djshow832 – 改进对于 MPP 执行计划的列裁剪功能,以提升 TiFlash MPP 的执行性能 #52133 @yibin87 – 优化 IndexLookUp 算子在回表数据量较多(大于 1024 行)时的性能开销 #53871 @crazycs520 – 在 MPP 负载均衡时移除不包含任何 Region 的 Store #52313 @xzhangxian10080 码力 | 4987 页 | 102.91 MB | 10 月前3
 跟我学Shiro - 张开涛...................................................................................... 66 第八章 拦截器机制 .................................................................................................. .................................................................................... 101 第十一章 缓存机制 .................................................................................................. 如密码加密存储到数据库,而不是明文存储; Web Support:Web 支持,可以非常容易的集成到 Web 环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以 跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 6 提高效率; Concurrency:shiro 支持多线程应用的0 码力 | 219 页 | 4.16 MB | 10 月前3 跟我学Shiro - 张开涛...................................................................................... 66 第八章 拦截器机制 .................................................................................................. .................................................................................... 101 第十一章 缓存机制 .................................................................................................. 如密码加密存储到数据库,而不是明文存储; Web Support:Web 支持,可以非常容易的集成到 Web 环境; Caching:缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以 跟我学 Shiro——http://jinnianshilongnian.iteye.com/ 6 提高效率; Concurrency:shiro 支持多线程应用的0 码力 | 219 页 | 4.16 MB | 10 月前3
 TiDB中文技术文档集群由不同的模块组成,包括:TiDB 服务器、TiKV 服务 器、Placement Driver (PD) 服务器。 架构图如下所示: 参考 TiDB Ansible 部署方案。 本节具体介绍 TiDB 中基本的增删改查操作。 TiDB 快速入门指南 关于 TiDB 关于本指南 TiDB 集群部署 TiDB 基本操作 TiDB 快速入门指南 - 17 - 本文档使用 书栈(BookStack.CN) 构建 使用 语句。例如: 1. DROP INDEX person_num ON person; 2. ALTER TABLE person DROP INDEX person_num; 创建、查看和删除索引 增删改查数据 TiDB 快速入门指南 - 19 - 本文档使用 书栈(BookStack.CN) 构建 使用 INSERT 语句向表内插入数据。例如: 1. INSERT INTO person VALUES("1" lease 主要用在 online schema changes 上面。这个值会影响到实际的 DDL 语句的执行 时间。大多数情况下,用户不需要修改这个值,除非您清晰的了解 TiDB DDL 的内部实现机制 TiDB 服务监听 host 默认: “0.0.0.0” TiDB 服务会监听这个 host 0.0.0.0 默认会监听所有的网卡 address。如果有多块网卡,可以指定对外提供服务的网卡,譬如0 码力 | 444 页 | 4.89 MB | 6 月前3 TiDB中文技术文档集群由不同的模块组成,包括:TiDB 服务器、TiKV 服务 器、Placement Driver (PD) 服务器。 架构图如下所示: 参考 TiDB Ansible 部署方案。 本节具体介绍 TiDB 中基本的增删改查操作。 TiDB 快速入门指南 关于 TiDB 关于本指南 TiDB 集群部署 TiDB 基本操作 TiDB 快速入门指南 - 17 - 本文档使用 书栈(BookStack.CN) 构建 使用 语句。例如: 1. DROP INDEX person_num ON person; 2. ALTER TABLE person DROP INDEX person_num; 创建、查看和删除索引 增删改查数据 TiDB 快速入门指南 - 19 - 本文档使用 书栈(BookStack.CN) 构建 使用 INSERT 语句向表内插入数据。例如: 1. INSERT INTO person VALUES("1" lease 主要用在 online schema changes 上面。这个值会影响到实际的 DDL 语句的执行 时间。大多数情况下,用户不需要修改这个值,除非您清晰的了解 TiDB DDL 的内部实现机制 TiDB 服务监听 host 默认: “0.0.0.0” TiDB 服务会监听这个 host 0.0.0.0 默认会监听所有的网卡 address。如果有多块网卡,可以指定对外提供服务的网卡,譬如0 码力 | 444 页 | 4.89 MB | 6 月前3
 Python 标准库参考指南 3.11.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2004 36.15.4 选项回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013 36.15.5 扩展 如果没有实参,则返回当前本地作用域中的名称列表。如果有实参,它会尝试返回该对象的有效属 性列表。 如 果 对 象 有 一 个 名 为 __dir__() 的 方 法, 则 该 方 法 将 被 调 用 并 且 必 须 返 回 由 属 列 组 成 的 列 表。 这 允 许 实 现 自 定 义 This allows objects that implement a custom __getattr__() 或 __getattribute__() __dir__(),该函数会尽量从对象所定义的__dict__ 属性和其类型对象中收集 信息。结果列表不一定是完整的,并且当对象具有自定义的 __getattr__() 时还可能是不准确 的。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。0 码力 | 2248 页 | 11.10 MB | 9 月前3 Python 标准库参考指南 3.11.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2004 36.15.4 选项回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013 36.15.5 扩展 如果没有实参,则返回当前本地作用域中的名称列表。如果有实参,它会尝试返回该对象的有效属 性列表。 如 果 对 象 有 一 个 名 为 __dir__() 的 方 法, 则 该 方 法 将 被 调 用 并 且 必 须 返 回 由 属 列 组 成 的 列 表。 这 允 许 实 现 自 定 义 This allows objects that implement a custom __getattr__() 或 __getattribute__() __dir__(),该函数会尽量从对象所定义的__dict__ 属性和其类型对象中收集 信息。结果列表不一定是完整的,并且当对象具有自定义的 __getattr__() 时还可能是不准确 的。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。0 码力 | 2248 页 | 11.10 MB | 9 月前3
 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返 回自由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 注解: 不要更改此字典的内容;更改不会影响解释器使用的局部变量或自由变量的值。 map(function, iterable default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc, reverse=True)[0] 和 heapq.nlargest(10 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返 回自由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 注解: 不要更改此字典的内容;更改不会影响解释器使用的局部变量或自由变量的值。 map(function, iterable default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc, reverse=True)[0] 和 heapq.nlargest(10 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返 回自由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 注解: 不要更改此字典的内容;更改不会影响解释器使用的局部变量或自由变量的值。 map(function, iterable default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc, reverse=True)[0] 和 heapq.nlargest(10 码力 | 1927 页 | 9.69 MB | 9 月前3 Python 标准库参考指南 3.8.20 __dir__(),这个函数会尝试从对象已定义的__dict__ 属性和类型对象收集信 息。结果列表并不总是完整的,如果对象有自定义 __getattr__(),那结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。 实际上是一种可变序列类型,详情请参阅列表 和序列类型 --- list, tuple, range。 locals() 更新并返回表示当前本地符号表的字典。在函数代码块但不是类代码块中调用locals() 时将返 回自由变量。请注意在模块层级上,locals() 和globals() 是同一个字典。 注解: 不要更改此字典的内容;更改不会影响解释器使用的局部变量或自由变量的值。 map(function, iterable default 实参是当可迭代对象为空时返回的值。如果可迭代对象为空,并且没有给 default ,则会触 发ValueError。 如 果 有 多 个 最 大 元 素, 则 此 函 数 将 返 回 第 一 个 找 到 的。 这 和 其 他 稳 定 排 序 工 具 如 sorted(iterable, key=keyfunc, reverse=True)[0] 和 heapq.nlargest(10 码力 | 1927 页 | 9.69 MB | 9 月前3
 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 35.15.4 选项回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1865 35.15.5 扩展 '1110') 另见format() 获取更多信息。 class bool([x]) 返回布尔值,True 或 False。x 用标准的真值测试过程 进行转换。如果 x 为 False 或省略,则返 回 False;否则返回 True。bool 类是int 的子类(见数字类型 --- int, float, complex )。它不能再 被继承。它唯一的实例就是 False 和 True (参阅布尔值 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信 息。得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。0 码力 | 2072 页 | 10.39 MB | 9 月前3 Python 标准库参考指南 3.10.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856 35.15.4 选项回调 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1865 35.15.5 扩展 '1110') 另见format() 获取更多信息。 class bool([x]) 返回布尔值,True 或 False。x 用标准的真值测试过程 进行转换。如果 x 为 False 或省略,则返 回 False;否则返回 True。bool 类是int 的子类(见数字类型 --- int, float, complex )。它不能再 被继承。它唯一的实例就是 False 和 True (参阅布尔值 __dir__() 方法,该函数会尽量从对象的__dict__ 属性和其类型对象中收集信 息。得到的列表不一定是完整,如果对象带有自定义 __getattr__() 方法时,结果可能不准确。 默认的dir() 机制对不同类型的对象行为不同,它会试图返回最相关而不是最全的信息: • 如果对象是模块对象,则列表包含模块的属性名称。 • 如果对象是类型或类对象,则列表包含它们的属性名称,并且递归查找所有基类的属性。0 码力 | 2072 页 | 10.39 MB | 9 月前3
共 138 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













