 消息中间件RocketMQ原理解析 - 斩秋先引入官方文档图: 分布式事物是基于二阶段提交的 1) 一阶段,向 broker 发送一条 prepared 的消息,返回消息的 offset 即消息地址 commitLog 中消息偏移量。Prepared 状态消息不被消费 发送消息 ok,执行本地事物分支, 本地事物方法需要实现 rocketmq 的回调接口 2)2) 2) LocalTransactionExecuter , 针对事物消息的处理,消息的第 20 位开始的八位记录是的消息在逻辑队列 中的 queueoffset, 但是针对事物消息为 preparedType 和 rollbackType 的存储的是事物状态 表的索引偏移量 2.2.2 分发事物消息: 分发消息位置信息到 ConsumeQueue : 事物状态为 preparedType 和 rollbackType 的消息 不会将请求分发到 ConsumeQueue 事物状态表是有 MapedFileQueue 将多个文件组成一个连续的队列,它的存储单元是定 长为 24 个字节的数据, tranStateTableOffset 可以认为是事物状态消息的个数,索引偏移量, 它的值是 tranStateTable.getMaxOffset() / TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件,0 码力 | 57 页 | 2.39 MB | 1 年前3 消息中间件RocketMQ原理解析 - 斩秋先引入官方文档图: 分布式事物是基于二阶段提交的 1) 一阶段,向 broker 发送一条 prepared 的消息,返回消息的 offset 即消息地址 commitLog 中消息偏移量。Prepared 状态消息不被消费 发送消息 ok,执行本地事物分支, 本地事物方法需要实现 rocketmq 的回调接口 2)2) 2) LocalTransactionExecuter , 针对事物消息的处理,消息的第 20 位开始的八位记录是的消息在逻辑队列 中的 queueoffset, 但是针对事物消息为 preparedType 和 rollbackType 的存储的是事物状态 表的索引偏移量 2.2.2 分发事物消息: 分发消息位置信息到 ConsumeQueue : 事物状态为 preparedType 和 rollbackType 的消息 不会将请求分发到 ConsumeQueue 事物状态表是有 MapedFileQueue 将多个文件组成一个连续的队列,它的存储单元是定 长为 24 个字节的数据, tranStateTableOffset 可以认为是事物状态消息的个数,索引偏移量, 它的值是 tranStateTable.getMaxOffset() / TSStoreUnitSize 2.2.4 事物回查 定时回查线程会定时扫描(默认每分钟)每个存储事务状态的表格文件,0 码力 | 57 页 | 2.39 MB | 1 年前3
 RocketMQ v3.2.4 开发指南多少对亍对外提供的访问能力影响有限。 (2). 消息堆积到持丽化存储系统中,例如 DB,KV 存储,文件记彔形式。 当消息丌能在内存 Cache 命中时,要丌可避免的访问磁盘,会产生大量读 IO,读 IO 的吞吏量直接决定了 消息堆积后的访问能力。 评估消息堆积能力主要有以下四点: (1). 消息能堆积多少条,多少字节?即消息的堆积容量。 (2). 消息堆积后,収消息的吞吏量大小,是否会叐堆积影响? IO 压力极大,会导致 IO 写入超时。 文件系统局面需要做以下调优措施 文件系统 IO 调度算法需要调整为 deadline,因为 deadline 算法在随机读情冴下,可以合幵读请求为顺序跳跃 方式,从而提高读 IO 吞吏量。 Ext4 文件系统有以下 Bug,请注意 http://blog.donghao.org/2013/03/20/%E4%BF%AE%E5%A4%8D Byte 4 Byte Message Tag Hashcode 8 Byte 图表 7-1RocketMQ 队列 (1). 所有数据单独存储到一个 Commit Log,完全顺序写,随机读。 (2). 对最终用户展现的队列实际只存储消息在 Commit Log 的位置信息,幵丏串行方式刷盘。 项目开源主页:https://github.com/alibaba/RocketMQ0 码力 | 52 页 | 1.61 MB | 1 年前3 RocketMQ v3.2.4 开发指南多少对亍对外提供的访问能力影响有限。 (2). 消息堆积到持丽化存储系统中,例如 DB,KV 存储,文件记彔形式。 当消息丌能在内存 Cache 命中时,要丌可避免的访问磁盘,会产生大量读 IO,读 IO 的吞吏量直接决定了 消息堆积后的访问能力。 评估消息堆积能力主要有以下四点: (1). 消息能堆积多少条,多少字节?即消息的堆积容量。 (2). 消息堆积后,収消息的吞吏量大小,是否会叐堆积影响? IO 压力极大,会导致 IO 写入超时。 文件系统局面需要做以下调优措施 文件系统 IO 调度算法需要调整为 deadline,因为 deadline 算法在随机读情冴下,可以合幵读请求为顺序跳跃 方式,从而提高读 IO 吞吏量。 Ext4 文件系统有以下 Bug,请注意 http://blog.donghao.org/2013/03/20/%E4%BF%AE%E5%A4%8D Byte 4 Byte Message Tag Hashcode 8 Byte 图表 7-1RocketMQ 队列 (1). 所有数据单独存储到一个 Commit Log,完全顺序写,随机读。 (2). 对最终用户展现的队列实际只存储消息在 Commit Log 的位置信息,幵丏串行方式刷盘。 项目开源主页:https://github.com/alibaba/RocketMQ0 码力 | 52 页 | 1.61 MB | 1 年前3
 MySQL高可用 - 多种方案.................................................................. 9 3 Lvs+Keepalived+Mysql 单点写入读负载均衡主主同步高可用方案 .................................. 9 3.1 方案简介 ...................................... 当主服务器服务启动起来后会自动切换回来。 2.2 方案架构图 2.3 方案优缺点 优点:  安装配置简单,实现方便,高可用效率好,可以根据服务与系统的可用性 多方面进行切换。  可以将写 VIP 和读 VIP 分别进行设置,为读写分离做准备。  扩展不是很方便。  可以在后面添加多个从服务器,并做到负载均衡。 缺点:  在启动或者恢复后会立即替换掉定义的 sorry_server,因此如果要实现指 时更改 mysql 的端口等。  切换需要 1s 左右的时间。 2.4 方案实战 2.4.1 适用场景 这个方案适用于只有两台数据库服务器并且还没有实现数据库的读写 分离的情况,读和写都配置 VIP。这个方案能够便于单台数据库的管理 维护以及切换工作。比如进行大表的表结构更改、数据库的升级等都是 非常方便的。 2.4.2 实战环境介绍 服务器名 IP VIP 系统0 码力 | 31 页 | 874.28 KB | 1 年前3 MySQL高可用 - 多种方案.................................................................. 9 3 Lvs+Keepalived+Mysql 单点写入读负载均衡主主同步高可用方案 .................................. 9 3.1 方案简介 ...................................... 当主服务器服务启动起来后会自动切换回来。 2.2 方案架构图 2.3 方案优缺点 优点:  安装配置简单,实现方便,高可用效率好,可以根据服务与系统的可用性 多方面进行切换。  可以将写 VIP 和读 VIP 分别进行设置,为读写分离做准备。  扩展不是很方便。  可以在后面添加多个从服务器,并做到负载均衡。 缺点:  在启动或者恢复后会立即替换掉定义的 sorry_server,因此如果要实现指 时更改 mysql 的端口等。  切换需要 1s 左右的时间。 2.4 方案实战 2.4.1 适用场景 这个方案适用于只有两台数据库服务器并且还没有实现数据库的读写 分离的情况,读和写都配置 VIP。这个方案能够便于单台数据库的管理 维护以及切换工作。比如进行大表的表结构更改、数据库的升级等都是 非常方便的。 2.4.2 实战环境介绍 服务器名 IP VIP 系统0 码力 | 31 页 | 874.28 KB | 1 年前3
 JavaScript 正则表达式迷你书 老姚 - v1.1正则表达式一直是我的一个痛点,很多人肯定也跟我一样存在类似的情况。但是正则表达式的使用范 围非常广泛,尤其在表单校验这个场景下更是不可或缺。这本小书用一个一个的小例子深入浅出地示 范了正则表达式的典型用法,值得一读。 — 大漠穷秋 我连续看了老姚在专栏的正则系列的前三篇,毫不犹豫就打赏了,而且顺藤摸瓜认识了老姚,没想到 老姚对学习本身研究颇深,当晚第一次聊天就是半宿。在本系列中,我印象最深的两句话是“正则表 字符”, 这两句话可谓是醍醐灌顶,通过数字的千位分隔符这个例子把之前一直搞不清楚的先行断言彻底搞懂 了。真是佩服老姚的理解和讲解能力。相信我,通读迷你小书,可以让你真正理解正则并在工作中不 怕读,不怕写正则。让正则成为你开发中的一把利器。 — 小鱼二 JavaScript 正则表达式迷你书 前言 | 第 2 页 这是一本由浅入深且环环相扣的正则书籍,花了两天的碎片时间(8h)看完了,得益于老姚程序员的 学习正则,是需要了解其匹配原理的。 第四章,讲解了正则表达式的回溯法原理。 另外在第六章最后一节,也讲解了正则的表达式的整体工作原理。 不仅能看懂别人的正则,还要自己会写正则。 第五章,是从读的角度,去拆分一个正则表达式,而第六章是从写的角度,去构建一个正则表达式。 学习正则,是为了在真实世界里应用的。 JavaScript 正则表达式迷你书 前言 | 第 4 页 第七章讲解了正则的用法,和相关0 码力 | 89 页 | 3.42 MB | 11 月前3 JavaScript 正则表达式迷你书 老姚 - v1.1正则表达式一直是我的一个痛点,很多人肯定也跟我一样存在类似的情况。但是正则表达式的使用范 围非常广泛,尤其在表单校验这个场景下更是不可或缺。这本小书用一个一个的小例子深入浅出地示 范了正则表达式的典型用法,值得一读。 — 大漠穷秋 我连续看了老姚在专栏的正则系列的前三篇,毫不犹豫就打赏了,而且顺藤摸瓜认识了老姚,没想到 老姚对学习本身研究颇深,当晚第一次聊天就是半宿。在本系列中,我印象最深的两句话是“正则表 字符”, 这两句话可谓是醍醐灌顶,通过数字的千位分隔符这个例子把之前一直搞不清楚的先行断言彻底搞懂 了。真是佩服老姚的理解和讲解能力。相信我,通读迷你小书,可以让你真正理解正则并在工作中不 怕读,不怕写正则。让正则成为你开发中的一把利器。 — 小鱼二 JavaScript 正则表达式迷你书 前言 | 第 2 页 这是一本由浅入深且环环相扣的正则书籍,花了两天的碎片时间(8h)看完了,得益于老姚程序员的 学习正则,是需要了解其匹配原理的。 第四章,讲解了正则表达式的回溯法原理。 另外在第六章最后一节,也讲解了正则的表达式的整体工作原理。 不仅能看懂别人的正则,还要自己会写正则。 第五章,是从读的角度,去拆分一个正则表达式,而第六章是从写的角度,去构建一个正则表达式。 学习正则,是为了在真实世界里应用的。 JavaScript 正则表达式迷你书 前言 | 第 4 页 第七章讲解了正则的用法,和相关0 码力 | 89 页 | 3.42 MB | 11 月前3
 JavaScript 正则表达式迷你书 老姚 - v1.0正则表达式一直是我的一个痛点,很多人肯定也跟我一样存在类似的情况。但是正则表达式的使用范 围非常广泛,尤其在表单校验这个场景下更是不可或缺。这本小书用一个一个的小例子深入浅出地示 范了正则表达式的典型用法,值得一读。 — 大漠穷秋 我连续看了老姚在专栏的正则系列的前三篇,毫不犹豫就打赏了,而且顺藤摸瓜认识了老姚,没想到 老姚对学习本身研究颇深,当晚第一次聊天就是半宿。在本系列中,我印象最深的两句话是“正则表 字符”, 这两句话可谓是醍醐灌顶,通过数字的千位分隔符这个例子把之前一直搞不清楚的先行断言彻底搞懂 了。真是佩服老姚的理解和讲解能力。相信我,通读迷你小书,可以让你真正理解正则并在工作中不 怕读,不怕写正则。让正则成为你开发中的一把利器。 — 小鱼二 JavaScript 正则表达式迷你书 前言 | 第 2 页 这是一本由浅入深且环环相扣的正则书籍,花了两天的碎片时间(8h)看完了,得益于老姚程序员的 学习正则,是需要了解其匹配原理的。 第四章,讲解了正则表达式的回溯法原理。 另外在第六章最后一节,也讲解了正则的表达式的整体工作原理。 不仅能看懂别人的正则,还要自己会写正则。 第五章,是从读的角度,去拆分一个正则表达式,而第六章是从写的角度,去构建一个正则表达式。 学习正则,是为了在真实世界里应用的。 JavaScript 正则表达式迷你书 前言 | 第 4 页 第七章讲解了正则的用法,和相关0 码力 | 89 页 | 3.42 MB | 11 月前3 JavaScript 正则表达式迷你书 老姚 - v1.0正则表达式一直是我的一个痛点,很多人肯定也跟我一样存在类似的情况。但是正则表达式的使用范 围非常广泛,尤其在表单校验这个场景下更是不可或缺。这本小书用一个一个的小例子深入浅出地示 范了正则表达式的典型用法,值得一读。 — 大漠穷秋 我连续看了老姚在专栏的正则系列的前三篇,毫不犹豫就打赏了,而且顺藤摸瓜认识了老姚,没想到 老姚对学习本身研究颇深,当晚第一次聊天就是半宿。在本系列中,我印象最深的两句话是“正则表 字符”, 这两句话可谓是醍醐灌顶,通过数字的千位分隔符这个例子把之前一直搞不清楚的先行断言彻底搞懂 了。真是佩服老姚的理解和讲解能力。相信我,通读迷你小书,可以让你真正理解正则并在工作中不 怕读,不怕写正则。让正则成为你开发中的一把利器。 — 小鱼二 JavaScript 正则表达式迷你书 前言 | 第 2 页 这是一本由浅入深且环环相扣的正则书籍,花了两天的碎片时间(8h)看完了,得益于老姚程序员的 学习正则,是需要了解其匹配原理的。 第四章,讲解了正则表达式的回溯法原理。 另外在第六章最后一节,也讲解了正则的表达式的整体工作原理。 不仅能看懂别人的正则,还要自己会写正则。 第五章,是从读的角度,去拆分一个正则表达式,而第六章是从写的角度,去构建一个正则表达式。 学习正则,是为了在真实世界里应用的。 JavaScript 正则表达式迷你书 前言 | 第 4 页 第七章讲解了正则的用法,和相关0 码力 | 89 页 | 3.42 MB | 11 月前3
 谈谈MYSQL那点事话, 就将读写都放在 M1 上面, M2 只是作为 standby 。 比如,订单处理流程,那么对读需要强一致性,实时写实 时读,类似种涉及交易的或者动态实时报表统计的都要采 用这种架构模式 弱一致性 如果是弱一致性的话,可以通过在 M2 上面分担一些读压力 和流量,比如一些报表的读取以及静态配置数据的读取模块 都可以放到 M2 上面。比如月统计报表,比如首页推荐商品 业务实时性要求不是很高,完全可以采用这种弱一致性的设 用来存放索引区块的缓存值 , 建议 128M 以上,不要大于内存的 30% read_buffer_size 128K 64M 用来做 MyISAM 表全表扫描的缓冲大 小 . 为从数据表顺序读取数据的读操 作保留的缓存区的长度 myisam_sort_buffer_size 16M 128M 设置 , 恢复 , 修改表的时候使用的缓冲 大小,值不要设的太大 服务优化 服务优化 InnoDB InnoDB0 码力 | 38 页 | 2.04 MB | 1 年前3 谈谈MYSQL那点事话, 就将读写都放在 M1 上面, M2 只是作为 standby 。 比如,订单处理流程,那么对读需要强一致性,实时写实 时读,类似种涉及交易的或者动态实时报表统计的都要采 用这种架构模式 弱一致性 如果是弱一致性的话,可以通过在 M2 上面分担一些读压力 和流量,比如一些报表的读取以及静态配置数据的读取模块 都可以放到 M2 上面。比如月统计报表,比如首页推荐商品 业务实时性要求不是很高,完全可以采用这种弱一致性的设 用来存放索引区块的缓存值 , 建议 128M 以上,不要大于内存的 30% read_buffer_size 128K 64M 用来做 MyISAM 表全表扫描的缓冲大 小 . 为从数据表顺序读取数据的读操 作保留的缓存区的长度 myisam_sort_buffer_size 16M 128M 设置 , 恢复 , 修改表的时候使用的缓冲 大小,值不要设的太大 服务优化 服务优化 InnoDB InnoDB0 码力 | 38 页 | 2.04 MB | 1 年前3
 清华大学 DeepSeek+DeepResearch 让科研像聊天一样简单Sonnet 负责图表逻辑优化 数据采集 数据预处理 数据分析 可视化呈现 新思路:DeepSeek R1的数据应用 中 文 数 据 处 理 优 势 创 意 写 作 生 成 能 力 数 据 读 取 分 析 能 力 低 成 本 高 性 能 优 势 编 程 代 码 生 成 能 力 • 智 能 中 文 古 籍 修 复 与 注 释 : 利用 DeepSeek R1强大的中文理解能力,自动识 捕食以及捕食者与猎物之间的动态关系。 将"因子"替换为"因素",删除了 多余的”如:"和"等" 英文学术写作润色指令 指令:下面是一篇学术论文中的一个段落。润色文字以符合学术风格,改进拼写、语法、清晰度、简洁性和整体可 读性。必要时,重写整个句子。此外,用标记符表格列出所有修改,并解释修改原因。 原始文本 修正后文本 Numerous marine molluscs, including both gastropods 引用格式较为标准,尤其在中 文文献的引用上符合国内学术 出版的常见格式,适合中文领 域的文献综述 文章语言类似维基百科风格, 具有百科的深度和结构,可读 性强,适合不同层次的读者阅 读和理解 自动生成 参考文献 能够自动生成参考文献列表,确 保引用格式的统一性,确保与文 中引用一一对应 生成的参考文献信息不完全, 且格式较为简化,不符合学术 引用的标准,在学术规范方面0 码力 | 85 页 | 8.31 MB | 8 月前3 清华大学 DeepSeek+DeepResearch 让科研像聊天一样简单Sonnet 负责图表逻辑优化 数据采集 数据预处理 数据分析 可视化呈现 新思路:DeepSeek R1的数据应用 中 文 数 据 处 理 优 势 创 意 写 作 生 成 能 力 数 据 读 取 分 析 能 力 低 成 本 高 性 能 优 势 编 程 代 码 生 成 能 力 • 智 能 中 文 古 籍 修 复 与 注 释 : 利用 DeepSeek R1强大的中文理解能力,自动识 捕食以及捕食者与猎物之间的动态关系。 将"因子"替换为"因素",删除了 多余的”如:"和"等" 英文学术写作润色指令 指令:下面是一篇学术论文中的一个段落。润色文字以符合学术风格,改进拼写、语法、清晰度、简洁性和整体可 读性。必要时,重写整个句子。此外,用标记符表格列出所有修改,并解释修改原因。 原始文本 修正后文本 Numerous marine molluscs, including both gastropods 引用格式较为标准,尤其在中 文文献的引用上符合国内学术 出版的常见格式,适合中文领 域的文献综述 文章语言类似维基百科风格, 具有百科的深度和结构,可读 性强,适合不同层次的读者阅 读和理解 自动生成 参考文献 能够自动生成参考文献列表,确 保引用格式的统一性,确保与文 中引用一一对应 生成的参考文献信息不完全, 且格式较为简化,不符合学术 引用的标准,在学术规范方面0 码力 | 85 页 | 8.31 MB | 8 月前3
 Apache Pulsar,云原生时代的消息平台 - 翟佳
解除存储计算耦合 • 运维痛点:替换机器、服务扩容、数据 rebalance • 减少⽂件系统依赖 • 性能难保障: 持久化(fsync)、⼀致性(ack: all)、多Topic • IO不隔离:消费者读Backlog的时候会影响其他⽣产者和消费者 streamnative.io Apache Pulsar 特性 • 云原⽣架构: • 存储计算分离 • 分层 + 分⽚ • ⾼性能 + 强⼀致性0 码力 | 39 页 | 12.71 MB | 6 月前0.03 Apache Pulsar,云原生时代的消息平台 - 翟佳
解除存储计算耦合 • 运维痛点:替换机器、服务扩容、数据 rebalance • 减少⽂件系统依赖 • 性能难保障: 持久化(fsync)、⼀致性(ack: all)、多Topic • IO不隔离:消费者读Backlog的时候会影响其他⽣产者和消费者 streamnative.io Apache Pulsar 特性 • 云原⽣架构: • 存储计算分离 • 分层 + 分⽚ • ⾼性能 + 强⼀致性0 码力 | 39 页 | 12.71 MB | 6 月前0.03
 Ubuntu 桌面培训 2010Skype C. Ubuntu One D. Linphone 答 C. Ubuntu One III.X 上机练习 练 习 1 假 设 您 使 用 Liferea 作 为 新 闻 阅 读 器 。 最 近 您 的 一 位 朋 友 告 诉 您 http://forum.ubuntu.org.cn 提供 Feed。现在您希望配置 Liferea 接收该网站 的最新头条。 116 上机练习 注: 播客是通过订阅在 Internet 播放音频文件的网站。您可以从所订阅的播客源下载 多媒体文件的新版本。 教员注记: 想 要 了 解 更 多 关 于 播 客 的 知 识 , 建 议 阅 读 维 基 百 科 上 关 于 播 客 的 文 章:http://zh.wikipedia.org/zh-cn/播客。 15.在新播客订阅文本框中输入所订阅播客的 URL,点击添加。 354 播放和管理音乐文件0 码力 | 540 页 | 26.26 MB | 1 年前3 Ubuntu 桌面培训 2010Skype C. Ubuntu One D. Linphone 答 C. Ubuntu One III.X 上机练习 练 习 1 假 设 您 使 用 Liferea 作 为 新 闻 阅 读 器 。 最 近 您 的 一 位 朋 友 告 诉 您 http://forum.ubuntu.org.cn 提供 Feed。现在您希望配置 Liferea 接收该网站 的最新头条。 116 上机练习 注: 播客是通过订阅在 Internet 播放音频文件的网站。您可以从所订阅的播客源下载 多媒体文件的新版本。 教员注记: 想 要 了 解 更 多 关 于 播 客 的 知 识 , 建 议 阅 读 维 基 百 科 上 关 于 播 客 的 文 章:http://zh.wikipedia.org/zh-cn/播客。 15.在新播客订阅文本框中输入所订阅播客的 URL,点击添加。 354 播放和管理音乐文件0 码力 | 540 页 | 26.26 MB | 1 年前3
共 9 条
- 1













