 使用 Docker 建立 MySQL 集群使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主0 码力 | 3 页 | 103.32 KB | 1 年前3 使用 Docker 建立 MySQL 集群使用 Docker 建立 Mysql 集群 软件环境介绍 操作系统:Ubuntu server 64bit 14.04.1 Docker 版本 1.6.2 数据库:Mariadb 10.10 (Mariadb 是 MySQL 之父在 MySQL 被 Oracle 收购之后 创建的分支,性能上优于 MySQL 开源版本) 第一步 安装 Docker 对于 Ubuntu,建议直接联网安装 Docker 的用户及其对应密码 6,设定 TERM 环境变量的值可以解决容器不能进入 mysql 控制台的问题。 对于不是自己建立的镜像,建立出来的容器未必能一次达到要求,建议是将 run 命令写成脚本,创建后使用 docker inspect <容器名> 仔细查看容器信息,关注镜像公开的端口和文件目录。如果发现达不到要求,使 用 docker rm -f <容器名> 删除容器后修改 run 脚本再次运行,直到满意为止。 有自带 vi,所以在两 个容器内都需要: apt-get update apt-get install vim 这样我们才能在容器内修改配置文件。 还有一种方法,就是我们在主数据库容器中操作,之后,使用 docker commit <主数据库容器名> mariadb 这样再创建的容器就包含 vi 了。 3.3 为讲述方便,现在假设:我们有了连个数据库,mdb1 和 mdb2, mdb1 我们作为主0 码力 | 3 页 | 103.32 KB | 1 年前3
 消息中间件RocketMQ原理解析 - 斩秋前言 此文档是从学习 rocketmq 源码过程中的笔记中整理出来的,由于时间及能力原因,理 解有误之处还请谅解,希望对大家学习使用 rocketmq 有所帮助。 Rocketmq 是阿里基于开源思想做的一款产品,代码托管于 github 上,要想学好用好 rocketmq 请从 https://github.com/alibaba/RocketMQ 方式:完全由业务系统去控制,定时拉取消息,指定队列消费等等, 当然这里需要 业务系统去根据自己的业务需求去实现 下面介绍默认以 push 方式为主, 因为绝大多数是由 push 消费方式来使用 rocketmq 的。 一:consumer 启动流程 指定 group 但是消费消息的时候一旦遇到消费消息失败直接放回,根据 ackIndex 来标记 成功消费到哪里了 消费失败, ackIndex 设置为-1 广播模式发送失败的消息丢弃, 广播模式对于失败重试代价过高,对整个集 群性能会有较大影响,失败重试功能交由应用处理 集群模式, 将消费失败的消息一条条的发送到 broker 的重试队列中去,如果 此时还有发送到重试队列发送失败的消息,那就在 cosumer0 码力 | 57 页 | 2.39 MB | 1 年前3 消息中间件RocketMQ原理解析 - 斩秋前言 此文档是从学习 rocketmq 源码过程中的笔记中整理出来的,由于时间及能力原因,理 解有误之处还请谅解,希望对大家学习使用 rocketmq 有所帮助。 Rocketmq 是阿里基于开源思想做的一款产品,代码托管于 github 上,要想学好用好 rocketmq 请从 https://github.com/alibaba/RocketMQ 方式:完全由业务系统去控制,定时拉取消息,指定队列消费等等, 当然这里需要 业务系统去根据自己的业务需求去实现 下面介绍默认以 push 方式为主, 因为绝大多数是由 push 消费方式来使用 rocketmq 的。 一:consumer 启动流程 指定 group 但是消费消息的时候一旦遇到消费消息失败直接放回,根据 ackIndex 来标记 成功消费到哪里了 消费失败, ackIndex 设置为-1 广播模式发送失败的消息丢弃, 广播模式对于失败重试代价过高,对整个集 群性能会有较大影响,失败重试功能交由应用处理 集群模式, 将消费失败的消息一条条的发送到 broker 的重试队列中去,如果 此时还有发送到重试队列发送失败的消息,那就在 cosumer0 码力 | 57 页 | 2.39 MB | 1 年前3
 清华大学 DeepSeek+DeepResearch 让科研像聊天一样简单长文本(15000token):暂时 无法给出答复。 【所需阅读文本】请根据以上文本完成以下三个任务:1、阅读 文本内容;2、整理集成可视化的数据表格;3、按照日期规范排 序(直接分析并输出结果,不使用python) 提示词 测试结果受到数据样本、测试环境、AI抽卡、提示词模板等因素影响,仅供参考,无法作为决策制定、质量评估或产品验证的最终依据。 文本数据集成  一般文本处理任务中,DeepSeek 【指令后加上文章的摘要】。 中-英、英-中互译指令 指令:我想让你充当一名科研类的英汉翻译,我会向你提供一种语言的一些段落,你的任务是将这些段落准确地、学术性 地翻译成另一种语言。翻译后不要重复原文提供的段落。您应使用人工智能工具(如自然语言处理)以及有关有效写作技巧 的修辞知识和经验进行回复。我会给你如下段落,请告诉我是用什么语言写的,然后翻译。我希望你能以标记表的形式给出 输出结果,其中第一列是原文,第二列是翻译后的句子,每行只给出一个句子 在每个引用年份后添加逗号 修改 解释 用 “可以降低捕食的易 感性 ”代替 “可以降低 捕食的易感性” 使用更简洁的动词,更好地表达原意。 将 “产生 ”改为 “导 致” 使用更准确、更简洁的动词,更好地 表达捕食与贝壳形态之间的因果关系。 用 “特定的猎物表型 ” 代替 “特定的猎物表型” 使用更准确的形容词,更好地表达原 意。 提升段落间逻辑和连贯性指令 指令:请分析以下文本中每个段落中0 码力 | 85 页 | 8.31 MB | 8 月前3 清华大学 DeepSeek+DeepResearch 让科研像聊天一样简单长文本(15000token):暂时 无法给出答复。 【所需阅读文本】请根据以上文本完成以下三个任务:1、阅读 文本内容;2、整理集成可视化的数据表格;3、按照日期规范排 序(直接分析并输出结果,不使用python) 提示词 测试结果受到数据样本、测试环境、AI抽卡、提示词模板等因素影响,仅供参考,无法作为决策制定、质量评估或产品验证的最终依据。 文本数据集成  一般文本处理任务中,DeepSeek 【指令后加上文章的摘要】。 中-英、英-中互译指令 指令:我想让你充当一名科研类的英汉翻译,我会向你提供一种语言的一些段落,你的任务是将这些段落准确地、学术性 地翻译成另一种语言。翻译后不要重复原文提供的段落。您应使用人工智能工具(如自然语言处理)以及有关有效写作技巧 的修辞知识和经验进行回复。我会给你如下段落,请告诉我是用什么语言写的,然后翻译。我希望你能以标记表的形式给出 输出结果,其中第一列是原文,第二列是翻译后的句子,每行只给出一个句子 在每个引用年份后添加逗号 修改 解释 用 “可以降低捕食的易 感性 ”代替 “可以降低 捕食的易感性” 使用更简洁的动词,更好地表达原意。 将 “产生 ”改为 “导 致” 使用更准确、更简洁的动词,更好地 表达捕食与贝壳形态之间的因果关系。 用 “特定的猎物表型 ” 代替 “特定的猎物表型” 使用更准确的形容词,更好地表达原 意。 提升段落间逻辑和连贯性指令 指令:请分析以下文本中每个段落中0 码力 | 85 页 | 8.31 MB | 8 月前3
 RocketMQ v3.2.4 开发指南...................................................................................... 31 11 客户端使用挃南 ................................................................................................ .................................................................................. 35 12 Broker 使用挃南 ................................................................................................ 维护,开源社区非常活跃。 https://github.com/killme2008/Metamorphosis 二、Metaq 2.x 亍 2012 年 10 月份上线,在淘宝内部被广泛使用。 三、RocketMQ 3.x 基亍公司内部开源共建原则, RocketMQ 项目只维护核心功能,丏去除了所有其他运行时依赖,核心功能最 简化。每个 BU 的个性化需求都在 RocketMQ0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南...................................................................................... 31 11 客户端使用挃南 ................................................................................................ .................................................................................. 35 12 Broker 使用挃南 ................................................................................................ 维护,开源社区非常活跃。 https://github.com/killme2008/Metamorphosis 二、Metaq 2.x 亍 2012 年 10 月份上线,在淘宝内部被广泛使用。 三、RocketMQ 3.x 基亍公司内部开源共建原则, RocketMQ 项目只维护核心功能,丏去除了所有其他运行时依赖,核心功能最 简化。每个 BU 的个性化需求都在 RocketMQ0 码力 | 52 页 | 1.61 MB | 1 年前3
 谈谈MYSQL那点事MyISAM MyISAM 特点 特点 MyISAM vs MyISAM vs InnoDB InnoDB • 数据存储方式简单,使用 数据存储方式简单,使用 B+ Tree B+ Tree 进行索引 进行索引 • 使用三个文件定义一个表: 使用三个文件定义一个表: .MYI .MYD .frm .MYI .MYD .frm • 少碎片、支持大文件、能够进行索引压缩 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB InnoDB 特点 特点 •使用 使用 Table Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件  使用好的硬件,更快的硬盘、大内存、多核 使用好的硬件,更快的硬盘、大内存、多核 CPU CPU ,专业的 ,专业的 存储服务器( 存储服务器( NAS NAS 、 、 SAN SAN ) )  设计合理架构,如果 设计合理架构,如果 MySQL0 码力 | 38 页 | 2.04 MB | 1 年前3 谈谈MYSQL那点事MyISAM MyISAM 特点 特点 MyISAM vs MyISAM vs InnoDB InnoDB • 数据存储方式简单,使用 数据存储方式简单,使用 B+ Tree B+ Tree 进行索引 进行索引 • 使用三个文件定义一个表: 使用三个文件定义一个表: .MYI .MYD .frm .MYI .MYD .frm • 少碎片、支持大文件、能够进行索引压缩 事务、外键约束等 • Table level lock Table level lock ,性能稍差,更适合读取多的操作 ,性能稍差,更适合读取多的操作 InnoDB InnoDB 特点 特点 •使用 使用 Table Space Table Space 的方式来进行数据存储 的方式来进行数据存储 (ibdata1, ib_logfile0) (ibdata1, ib_logfile0) • 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 硬件  使用好的硬件,更快的硬盘、大内存、多核 使用好的硬件,更快的硬盘、大内存、多核 CPU CPU ,专业的 ,专业的 存储服务器( 存储服务器( NAS NAS 、 、 SAN SAN ) )  设计合理架构,如果 设计合理架构,如果 MySQL0 码力 | 38 页 | 2.04 MB | 1 年前3
 MySQL 8.0.17 调优指南(openEuler 20.09)System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 某一方面性能 低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时, 很可能是内存容量太小,因为CPU忙于处理内存调度。 ● 一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难 界定性能的影响是由哪个参数造成的。 ● 由于在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU 资源、内存资源等等。我们必须注意到这点,即分析工具本身运行可能会导致系 对于服务器端问题,需要定位的是硬件相关指标,例如CPU,Memory,Disk I/O,Network I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶0 码力 | 11 页 | 223.31 KB | 1 年前3 MySQL 8.0.17 调优指南(openEuler 20.09)System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言。MySQL软件采用了 双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其 是开放源码这一特点,一般中小型网站的开发都选择 MySQL作为网站数据库。 某一方面性能 低,也许并不是它自己造成的,而是其他方面造成的。如CPU利用率是100%时, 很可能是内存容量太小,因为CPU忙于处理内存调度。 ● 一次只对影响性能的某方面的一个参数进行调整,多个参数同时调整的话,很难 界定性能的影响是由哪个参数造成的。 ● 由于在进行系统性能分析时,性能分析工具本身会占用一定的系统资源,如CPU 资源、内存资源等等。我们必须注意到这点,即分析工具本身运行可能会导致系 对于服务器端问题,需要定位的是硬件相关指标,例如CPU,Memory,Disk I/O,Network I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶0 码力 | 11 页 | 223.31 KB | 1 年前3
 Ubuntu 桌面培训 20102008-2010。 这个协议受到知识共享署名-非商业性使用-相同方式共享的约束 基于这个协议,您可以自由: • 复制、发行、展览、表演、放映、广播或通过信息网络传播本作品 • 创作演绎作品 惟须遵守下列条件: • 署名。您必须按照作者或者许可人指定的方式对作品进行署名(但是不得以任何方式暗示它们支持您 或者您作品的使用)。 • 非商业性使用。您不得将本作品用于商业目的。 • 相同方式共享 相同方式共享。如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的 许可协议发布基于本作品的演绎作品。 对于任何的再使用或者分发,您必须让他人清楚了解到本作品所适用的协议条款。若您获得著作权人的 许可,上述任何条件都可以免除。该协议的任何部分都不削弱或者限制作者的人格权利。 关于这个著作权协议的更多信息,请参阅: http://creativecommons.org/licenses/by-nc-sa/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 III 使用互联网 57 III.I 连接和使用互联网 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 540 页 | 26.26 MB | 1 年前3 Ubuntu 桌面培训 20102008-2010。 这个协议受到知识共享署名-非商业性使用-相同方式共享的约束 基于这个协议,您可以自由: • 复制、发行、展览、表演、放映、广播或通过信息网络传播本作品 • 创作演绎作品 惟须遵守下列条件: • 署名。您必须按照作者或者许可人指定的方式对作品进行署名(但是不得以任何方式暗示它们支持您 或者您作品的使用)。 • 非商业性使用。您不得将本作品用于商业目的。 • 相同方式共享 相同方式共享。如果您改变、转换本作品或者以本作品为基础进行创作,您只能采用与本协议相同的 许可协议发布基于本作品的演绎作品。 对于任何的再使用或者分发,您必须让他人清楚了解到本作品所适用的协议条款。若您获得著作权人的 许可,上述任何条件都可以免除。该协议的任何部分都不削弱或者限制作者的人格权利。 关于这个著作权协议的更多信息,请参阅: http://creativecommons.org/licenses/by-nc-sa/3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 III 使用互联网 57 III.I 连接和使用互联网 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 540 页 | 26.26 MB | 1 年前3
 Kubernetes Operator 实践 - MySQL容器化MySQL 配置 • 版本 • 端口 • 存储信息 • 配置文件 集群配置 • 副本数 • 高可用模式 K8s 调度信息 • 资源套餐 • 亲和性信息 • NodeSelector 使用 CRD 2. client-go 配套工具 apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: StatefulSet mysql-0 mysql-1 mysql-2 • Pod 名随机 • Pod 启动无序 • Pod 扩容无限制 如何调度 MySQL MySQL 更像“宠物”,使用 StatefulSet 调度 MySQL 容器 VS Deployment 散养 StatefulSet 精养 MySQL 容器化系统架构 REST CLI Kubernetes 2. 调度 pod Ceph MySQL-Operator 集群管理 Master High Availability Ø 目前最常用的高可用实现 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高0 码力 | 42 页 | 4.77 MB | 1 年前3 Kubernetes Operator 实践 - MySQL容器化MySQL 配置 • 版本 • 端口 • 存储信息 • 配置文件 集群配置 • 副本数 • 高可用模式 K8s 调度信息 • 资源套餐 • 亲和性信息 • NodeSelector 使用 CRD 2. client-go 配套工具 apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: StatefulSet mysql-0 mysql-1 mysql-2 • Pod 名随机 • Pod 启动无序 • Pod 扩容无限制 如何调度 MySQL MySQL 更像“宠物”,使用 StatefulSet 调度 MySQL 容器 VS Deployment 散养 StatefulSet 精养 MySQL 容器化系统架构 REST CLI Kubernetes 2. 调度 pod Ceph MySQL-Operator 集群管理 Master High Availability Ø 目前最常用的高可用实现 Ø 支持大多数 MySQL 版本 Ø 使用 mysql 半同步复制 Ø 有数据丢失风险 Mysql Group Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高0 码力 | 42 页 | 4.77 MB | 1 年前3
 JavaScript 正则表达式迷你书 老姚 - v1.1. . . . . . . . . . . . . . . . . . . . 53 6.2.1. 是否能使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2.2. 是否有必要使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4.1. 使用具体型字符组来代替通配符,来消除回溯 . . . . . . . . . . . . . . . . . . . . 59 6.4.2. 使用非捕获型分组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 修饰符 g,对 exex 和 test 的影响 . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.5. test 整体匹配时需要使用 ^ 和 $ . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.6. split 相关注意事项 . . . . . . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3 JavaScript 正则表达式迷你书 老姚 - v1.1. . . . . . . . . . . . . . . . . . . . 53 6.2.1. 是否能使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2.2. 是否有必要使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4.1. 使用具体型字符组来代替通配符,来消除回溯 . . . . . . . . . . . . . . . . . . . . 59 6.4.2. 使用非捕获型分组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 修饰符 g,对 exex 和 test 的影响 . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.5. test 整体匹配时需要使用 ^ 和 $ . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.6. split 相关注意事项 . . . . . . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3
 JavaScript 正则表达式迷你书 老姚 - v1.0. . . . . . . . . . . . . . . . . . . . 53 6.2.1. 是否能使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2.2. 是否有必要使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4.1. 使用具体型字符组来代替通配符,来消除回溯 . . . . . . . . . . . . . . . . . . . . 59 6.4.2. 使用非捕获型分组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 修饰符 g,对 exex 和 test 的影响 . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.5. test 整体匹配时需要使用 ^ 和 $ . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.6. split 相关注意事项 . . . . . . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3 JavaScript 正则表达式迷你书 老姚 - v1.0. . . . . . . . . . . . . . . . . . . . 53 6.2.1. 是否能使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 6.2.2. 是否有必要使用正则? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 6.4.1. 使用具体型字符组来代替通配符,来消除回溯 . . . . . . . . . . . . . . . . . . . . 59 6.4.2. 使用非捕获型分组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. 修饰符 g,对 exex 和 test 的影响 . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.5. test 整体匹配时需要使用 ^ 和 $ . . . . . . . . . . . . . . . . . . . . . . . . . 68 7.2.6. split 相关注意事项 . . . . . . . . .0 码力 | 89 页 | 3.42 MB | 11 月前3
共 19 条
- 1
- 2













