Google File System II: Dawn of the Multiplying Master Nodes

谷歌正在研发新的文件系统GFSII,旨在解决原有GFS系统存在的单点故障及延迟问题,新系统采用分布式主节点设计,提升系统稳定性和响应速度。

谷歌定制的文件系统迫于前所未有的压力,因此谷歌酝酿着一个替代产品。

很明显,作为早些时候宣布的“caffeine”架构的一部分,GFS的全面修改正处于测试阶段。

在ACM的一次访谈中,Google的Sean Quinlan说,GFS诞生近10年来已经做了许多超出其预期的工作。

“考虑到Google的操作的数量级已经远远超过其设计能力,它的持久力是极为突出的。尽管谷歌目前支持的应用程序组合不是在90年代末期所能想象的到的。”Quinlan说道。Quinlan是曾任职GFS的技术leader两年,目前是Google的首席工程师。

然而GFS可以更好的支持一部分应用。GFS设计用于处理诸如web抓取和索引等批量作业,因此并不适用于Gmail和YouTube等需要与用户实时交互数据的应用。

“高带宽比低延迟更加重要”,GFS论文中提到。“大多数目标应用是以较高速率处理大量数据,极少有对单个读写操作的严格的响应时间需求。”但是这种情况在过去10年中发生了变化,退一步说,虽然Google一直致力于其面向公众的应用程序以使GFS的缺点最小化,但是Quinlan 和公司正重新研发一种新的文件系统。

GFS中,一个主节点(master node)监督数据在一系列分布式chunkservers之间的传播。Chunkservers中存储着数据块,每块64MB。

问题是(至少是对于要求低延迟的应用)只有一个主节点。Quinlan指出,“GFS的一个缺点与其原始设计有关,单个点的故障对于批量处理的应用来说未必造成严重后果,但是对于对延迟要求较高的应用(如视频服务)是不可接受的。”

最开始,GFS甚至没有针对主节点崩溃的故障恢复机制。必须收工恢复主节点,以致服务中断达一个小时。后来添加了自动故障恢复机制,仍存在明显的服务中断。据Quinlan所说,中断开始时有几分钟,目前已降到大约10秒钟。

这仍然很高。

“尽管这几个实例(必须提供故障恢复和错误恢复)对于批处理情况是可接受的,但是从面向用户的应用的延迟的角度来看确实不可接受的。”

甚至系统正常运行,仍存在延迟。“在设计时,有些地方为了提高吞吐量,我们把成千上万的操作加入队列中并处理它们。这样有较高的吞吐量,却牺牲了延迟。经常会遇到等待几秒钟才执行作业的情况。”

GFS与MapReduce(Google的分布式数据分析平台)吻合很好。但是看来Google已经直接跳到BigTable(Google的实时分布式数据库)了。目前,BigTable处理大多数负载。

“我们的用户基础正从基于MapReduce的世界向基于BigTable的交互世界迁移。Gmail就是一个明显的例子。就GFS而言,视频应用倒是显得没那么严重,因为视频使用流数据,这意味着可以缓存。尽管如此,试图在一个设计用于批处理环境的文件系统的基础上建立一个交互式的数据库总是不合时宜的。”

另一个问题是,单个主节点只能处理有限数量的文件。主节点中存储着chunkservers中文件的元数据,其上限是主节点的存储大小。换句话说,一个主节点可容纳的文件数是有限的。

Google在其新的文件系统GFS II中解决了这两个问题。Quinlin和他的团队正在研发一个不仅拥有分布式从节点(slaves),而且拥有分布式主节点的系统。它的从节点可以存储更小的文件。块从64MB减小到1MB。

这主要考虑了单点故障,但在某种程度上也解决了文件数量问题。更多的主节点不仅意味着提供了冗余,同时还可以存储更多的元数据。Quinlan提到:“分布式主节点允许你增加文件数量,这与机器数量一致。

Quinlan提出,文件缩小至1MB让我们可以适应未来10年的变化。“我的直觉是平均1MB的文件大小要比平均64MB文件大小适用于更多的情况。理论上讲,你可能会想到一个拥有更小文件大小的设计方案,但是1MB在我们的环境中貌似一个不错的折中选择。”

为什么Google一开始不把GFS设计成分布式主节点呢?Quinlan认为这并不是疏忽。

Quinlan说:“单主节点方案是最初决定中的一个,主要是为了简化整体设计。也就是说,从一开始就研发一种拥有分布式主节点的文件系统是非常困难的且研发周期将非常长。”

“同时,单主节点方案对工程师们来说可以简化许多问题。集中控制同步(replication)和垃圾回收,许多其他活动也更加简单。”

因此,Google短期内研发了GFS。10年过去了,GFS的升级不可避免。

Quinlan说,“毫无疑问,GFS当前面临许多挑战。Google的工程师们在过去的两年中致力于研发一种基于BigTable的分布式主节点系统,以解决GFS所面临的棘手问题。

除了Google帝国(the Google empire)之外,GFS、MapReduce和BigTable还导致了开源项目Hadoop的诞生。Hadoop以应用于Yahoo!,Facebook和Microsoft Bing等众多项目中。

Quinlan相信,GFS II将超越GFS。“现在看来,尽管GFS在不停地调整以适应新的需求,但是GFS II将在未来几年中迅速发展。”


原文地址:Google File System II

先展示下效果 https://pan.quark.cn/s/e81b877737c1 Node.js 是一种基于 Chrome V8 引擎的 JavaScript 执行环境,它使开发者能够在服务器端执行 JavaScript 编程,显著促进了全栈开发的应用普及。 在 Node.js 的开发流程中,`node_modules` 文件夹用于存储所有依赖的模块,随着项目的进展,该文件夹可能会变得异常庞大,其中包含了众多可能已不再需要的文件和文件夹,这不仅会消耗大量的硬盘空间,还可能减慢项目的加载时间。 `ModClean 2.0` 正是为了应对这一挑战而设计的工具。 `ModClean` 是一款用于清理 `node_modules` 的软件,其核心功能是移除那些不再被使用的文件和文件夹,从而确保项目的整洁性和运行效率。 `ModClean 2.0` 是此工具的改进版本,在原有功能上增加了更多特性,从而提高了清理工作的效率和精确度。 在 `ModClean 2.0` 中,用户可以设置清理规则,例如排除特定的模块或文件类型,以防止误删重要文件。 该工具通常会保留项目所依赖的核心模块,但会移除测试、文档、示例代码等非运行时必需的部分。 通过这种方式,`ModClean` 能够协助开发者优化项目结构,减少不必要的依赖,加快项目的构建速度。 使用 `ModClean` 的步骤大致如下:1. 需要先安装 `ModClean`,在项目的根目录中执行以下命令: ``` npm install modclean -g ```2. 创建配置文件 `.modcleanrc.json` 或 `.modcleanrc.js`,设定希望清理的规则。 比如,可能需要忽略 `LICENSE` 文件或整个 `docs`...
2026最新微信在线AI客服系统源码 微信客服AI系统是一款基于PHP开发的智能客服解决方案,完美集成企业微信客服,为企业提供7×24小时智能客服服务。系统支持文本对话、图片分析、视频分析等多种交互方式,并具备完善的对话管理、人工转接、咨询提醒等高级功能。 核心功能 ### 1.  智能AI客服 #### 自动回复 - **上下文理解**:系统自动保存用户对话历史,AI能够理解上下文,提供连贯的对话体验 - **个性化配置**:可自定义系统提示词、最大输出长度等AI参数 #### 产品知识库集成 - **公司信息**:支持配置公司简介、官网、竞争对手等信息 - **产品列表**:可添加多个产品,包括产品名称、配置、价格、适用人群、特点等 - **常见问题FAQ**:预设常见问题及答案,AI优先使用知识库内容回答 - **促销活动**:支持配置当前优惠活动,AI会自动向用户推荐 ### 2. 多媒体支持 #### 图片分析 - 支持用户发送图片,AI自动分析图片内容 - 可结合文字描述,提供更精准的分析结果 - 支持常见图片格式:JPG、PNG、GIF、WebP等 #### 视频分析 - 支持用户发送视频,AI自动分析视频内容 - 视频文件自动保存到服务器,提供公网访问 - 支持常见视频格式:MP4、等 ### 3.  人工客服转接 #### 关键词触发 - **自定义关键词**:可配置多个转人工触发关键词(如:人工、客服、转人工等) - **自动转接**:用户消息包含关键词时,自动转接给指定人工客服 - **友好提示**:转接前向用户发送提示消息,提升用户体验 #### 一键介入功能 - **后台管理**:管理员可在对话管理页面查看所有对话记录 - **快速转接**:点击"一键介入"按钮,立即将用户转接给人工客服
全桥LLC谐振变换器,电压电流双环竞争控制策略带说明文档内容概要:本文档主要围绕全桥LLC谐振变换器展开,重点介绍了一种电压电流双环竞争控制策略,并提供了详细的说明文档。该策略结合了拓展移相EPS方法,旨在优化电流应力并支持正反向运行,适用于双有源桥DC-DC变换器的控制。文中通过Simulink进行仿真研究,验证了控制策略的有效性,并利用PLECS工具进行了损耗计算和开环热仿真,确保系统在实际应用中的可靠性和效率。此外,文档还涵盖了DCDC双机并联系统的热管理问题,展示了完整的建模、仿真与分析流程。; 适合人群:具备电力电子、自动化或电气工程背景,熟悉MATLAB/Simulink和PLECS仿真工具,从事电源变换器设计与控制研究的研发人员及高校研究生。; 使用场景及目标:①用于高性能DC-DC变换器的设计与优化,特别是在新能源、电动汽车、储能系统等需要高效能电源转换的场合;②为研究人员提供电压电流双闭环控制、移相控制策略、损耗分析与热仿真的一体化解决方案,提升系统效率与稳定性;③支持正反向功率流动的应用场景,如能量回馈系统。; 阅读建议:建议读者结合Simulink与PLECS仿真模型同步学习,重点关注控制策略的实现逻辑、参数整定方法及热仿真设置,动手复现仿真案例以深入理解系统动态特性与工程实用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值