Skip to main content
 首页 » IPFS

ipfs系统定制开发介绍

2021年07月04日21

什么是IPFS挖矿

优化的网络——【Filecoin与点对点分布式网络协议IPFS结合,形成一个更高效、更安全、无需企业控制的网络】;

极具竞争力的存储价格-【Filecoin网络让任何人都可以成为存储提供商,通过与企业竞争来实现规模经济】

可证明的安全性和真实性-[内容寻址和加密存储的证明可以确保数据在很长一段时间内安全正确地存储]

全球开源存储-【人人创建和拥有的网络】

个性化定制-【根据您的需要在备份、检索速度和成本上调整策略】

开发者的天堂——[快速增长的工具、数据库、集成和提供商生态系统]

七、安全可靠地存储数据-【加密证明可以保证您的数据长期持续可用,不会被更改】

八。竞争激烈的存储市场——【Filecoin 降低了存储提供商的进入门槛,将云存储变成了商品。这允许新的市场进入者轻松地与现有参与者竞争。存储供应商将为您的需求展开激烈竞争,以最优惠的价格存储您的数据并提供灵活的选择。而这一切都是在一个透明的全球市场中完成的。 】

IPFS

使用场景

云存储:到2021年,达到750亿美元的市场,Filecoin打造了强大的分布式动态云存储服务平台;

2020,币圈资本押宝 Filecoin 挖矿

不管是好是坏,它都在向人们传达一个强烈的信号:相比前两年的“龟速”进步,今天的Filecoin进入了生态链快速完善的时期:从测试代码到推出多版本客户,然后在市场方面,Coinbase等多种钱包支持其代币FIL,多个加密货币项目和基金宣布进入Filecoin挖矿。

简而言之,Filecoin 已经流行起来。除了自身的“竞争力”,很多人还说是因为今年没有热点(本质就是没有赚钱效应)。

在一级市场,人们已经很久没有看到优质的新项目募资了,偶尔会有一些项目在证券交易所/IEO上市,这已经不是十倍神话了。在二级市场上,比特币的“减半效应”屡屡被炒作,不少人充分利用杠杆“迎接牛市”,却先被暴跌冲刷殆尽。至于矿圈,在多轮价格暴跌、区块奖励减半、水算力上升的压力下,不少矿工已经处于亏损边缘。

人们一直在寻找新的创富机器。重仓以太坊 2.0 是其中之一,曾经挖掘“顶级币圈”的 Filecoin 是另一个。

与2018年蜂拥购买Filecoin矿机的“先行者”相比,今年入市的投资者来得晚,但更聪明。

两年前,Filecoin矿机市场假货横行,资金横行。入市时机不对的投资者,难免会成为炮灰。

2020年,资本圈争夺Filecoin Filecoin挖矿,无疑是近期资本圈的一个热点。

2020年4月,Filecoin挖矿方案商“1475”宣布收购HashKey Capital、分布式资本、亦墨资本,投后估值4亿元。5月底,Odaily星球日报获悉,此前获得建元基金和分布式资本数千万美元融资的企业级加密资产服务商Keystore也低调入市,定位本身作为 Filecoin 挖掘解决方案提供商。

据某币圈基金合伙人布莱斯(化名)透露,该基金计划投资数千万美元用于测试Filecoin挖矿,目前正在调查顶级矿工。

嘉楠耘智总经理邵建良在 5 月底的一次活动中公开表示,PoW 已经进入了一个比较高的门槛阶段。分布式存储开辟了超越(哈希)计算能力的新战场。迦南正在关注 IPFS。和 Filecoin 挖矿开发。

5月29日,头部显卡矿机厂商熊猫矿机联合创始人杨晓表示,公司今年将专注于Filecoin挖矿赛道...

2017年以来,Filecoin这颗耀眼的明星,因为项目代币和矿机长期处于“空中舞台”,吸引了无数骗子。

如今,Filecoin 尚未落地,但人们参与 Filecoin 挖矿的认知和意愿已经悄然改变。

这一切都要从6年前说起。

2014 年,斯坦福大学毕业的 Juan Benet 带领一群优等生创建了一个旨在替代 HTTP-IPFS(星际文件系统)的协议。

HTTP 是 Internet 上使用最广泛的网络传输协议。 IPFS 可以理解为 HTTP 的分布式版本。其工作流程是“分片并加密文件——上传到分布式节点完成数据存储——然后从分布式节点检索、合成、解密到需求节点——完成数据读取”。

与区块链类似,“分布式、抗审查、更开放”是IPFS最大的卖点。

为了推动这个开源协议的应用,2017 年 6 月,Juan 团队(又名 Protocal Labs,协议实验室)发布了新的分布式存储协议 Filecoin,希望通过加入经济体来提高分布式存储的实现。激励制度。 /用。这个想象空间足够大,是一个结合时间(ICO狂热)和人和的项目。一经推出,就已从红杉资本、Union Square Ventures、Anderson Hollow Witz Fund、Winklevoss Capital等9家知名投资机构融资5700万美元。

在随后的公开募股中,虽然 Filecoin 只在合规融资平台 Coinlist 上为合格投资者募集资金(年收入超过 20 万美元),并拒绝了无数散户投资者,但它仍然在一个月内筹集了 2.05。十亿美元,成为当时历史上最大的1CO。

团队、资本的硬核、众筹的火爆、强大的资本,让Filecoin在上线之前就火了。

没能参与到1CO的人想到了通过FIL期货和矿机淘金。

Gate.io、LBank等交易所相继上市FIL期货,牛市期间价格暴涨1.5倍。

数据来自:CoinMarketCap 在硬件市场,“空中工程”Filecoin的实体矿机也陆续上马。

Filecoin 总量为 20 亿,其中 70% 分配给矿工,15% 分配给开发团队,10% 分配给投资者,其余 5% 分配给 Filecoin 基金会。总共有20%的团队和基金的代币会在6年内线性解锁,10%的投资者有6个月到3年不等的解锁期。因此,早期流通的代币将主要通过挖矿获得。

Filecoin 的挖矿算法是一种独特的 PoC 机制,即通过投资存储容量来争夺记账权和存储费用。 PoC 由两部分组成: 复制证明(PoRep),用于验证矿工是否按照要求存储了文件; Proof of Time(PoSt),即不断生成副本证明,证明矿工一直保存着文件。

完成这两个步骤的矿工将能够争夺出块权。

对于Filecoin矿机,考验的是其存储和传输数据的能力,比如存储总量、检索速度、传输带宽、延迟等。Filecoin矿机组件通常包括CPU、GPU、主板和硬盘,类似于高端电脑加硬盘,不像比特币的ASIC矿机需要定制芯片。但是,不同硬件的成本和效率是不同的,所以如何配置高可用的矿机仍然是一门学问。

矿机厂商由此而生。

华强北的电脑组装商最先嗅到了商机。

在其他地方,每隔一条线就像一座山。没有钻石钻石就做不成瓷器。但对于精准踏足每一波硬件浪潮的华强北人来说,从移动互联网早期的山寨机,到2017年牛市的矿机,他们都没有。不会“颠倒”的硬件。

Filecoin项目火爆,市场对Filecoin矿机有需求。经历了倾销矿机的巨额利润后,华强北的商家们希望Filecoin能再创佳绩。

更酷的是,当他们出售比特币矿机时,他们只能从中间人那里赚钱。在生产和销售Filecoin矿机这件事上,他们可以赚两个钱。

于是上游供应链和一些厂商诞生了。他们甚至不在乎他们是生产矿机还是废铁,他们是否可以开采硬币。

2018年以来,上百台Filecoin矿机层出不穷,现在能点名的就有十几台,还有更多是在“私域流量”中偷偷出售的。

下图为2018年《超级兄弟区块链学习笔记》统计的厂商和矿机。

截图来自:潮歌区块链研究笔记 毫无疑问,其中大部分是假的 Filecoin 矿工。

6block石榴矿池首席架构师“币圈李白”从两个方面进行评判。

按理说,Filecoin 于 2018 年 6 月正式开始在 Github 上提交代码,直到今年 6 月才敲定挖矿计划。 “那2年前随意配置的矿机怎么能正常工作呢?”

再者,从目前主网所需的硬件配置来看,一个普通的Filecoin矿机至少需要配备AMD CPU、1TB SSD(固态硬盘)、128GB内存,仅这些配件的成本就不少于6000元。另一方面,上述矿机的价格在2000-6000元之间。对此,仍在运营的星辰大陆员工表示,这台机器,不是单机可以单独挖矿,只能参与集群,作为存储节点参与。此外,“产品卖得并不多,很早就下架了。”

该负责人表示,这些矿机多为家用网络存储设备(即NAS机),采用ARM架构,配置低,不足以支撑算法运行;建集群的时候不能保证稳定性,不适合挖矿Filecoin。

如果你买了这些矿机,你可能不禁会想,性能再差,性能就差了,大不了就是少挖。

但据“币圈”的李白介绍,低挖矿机会导致低挖矿效率和慢计算。官方对挖矿速度有最低门槛。三个阶段的挖矿必须在一天内完成,否则系统无法使用。成为有效的算力,竞争出块。

但这些假冒无耻的矿机却风靡一时,吸引了无数黄金。

以唯一被警方立案调查的“蜗牛矿机”为例,据《第一财经日报》报道,2018年10月至2019年2月,该公司以Filecoin矿机的名义出售了数千人。近30万台“蜗牛星际服务器”仅5个月骗取20亿元。

“蜗牛矿机”只是冰山一角。随着 Filecoin 主网的上线,更多的假矿工将现身。

可能有人会问,挖矿似乎不是一个常规的、简单易懂的投资项目。为什么假矿机能赚到这么多钱?

我是如何卖出数百万台“假矿机”的?

问题在于 Filecoin 的“新”。市场交易者利用人们在专业领域的信息/认知差,主张明星项目带来丰厚回报,吸引币圈或混圈投资者。

Abiang 是其中一台矿机的代理(也称为“城市节点”)。他终年靠“投资项目”过活。 2017年,他带动了货币牛市,在1CO浪潮中赚了一些钱,可惜没赶上王者级项目Filecoin。因此,当阿比昂发现自己可以通过买卖矿机和跑步机来参与Filecoin时,他决定这是一个上车的机会。

阿边对各个矿机厂商的基本面进行调研对比后,决定以整个身家投资数十万美元,从某厂商采购40台矿机,获得一级经销商资格,并获得一级经销商资格。最低购买价格。 .

对于阿比昂来说,这家厂商的吸引力在于有实体公司和产品可供考察,营销和运营模式非常成熟。

一方面,厂家会带代理商来公司参观,提供培训和讲座;另一方面,它会在线上推出广告和视频游戏来建立自己的品牌,而在线下,它将通过定期的销售会议帮助代理商进行销售。

Filecoin矿机经典文案更极端的品牌,就是花钱请名人上台。比如上面提到的蜗牛矿机,居然在一次会议上邀请了“胡润榜”创始人胡润,并表示将合作打造CAI 100富豪榜,间接为该项目背书。

CAI可以理解为蜗牛矿机团队制作的仿Filecoin链。购买蜗牛矿机可以“一机两矿”CAI和FIL。

图为胡润参加蜗牛矿机(CAI)活动。一机双挖也是经典的营销策略,逻辑流畅(FIL上线前挖个小币,收益最大化),但为了卖矿机,至于创造的代币,可想而知K线。即使不是矿机厂商发行的代币,而是类似Filecoin的PoC项目代币,从基本面到代币价格也没有相对优质的项目。

但矿机买家相信这些“套路”。

根据阿比昂的观察,线上线下分流而来的顾客多为老年人。很多人之前都加入过投资互联网项目,或者炒币,或者干脆玩圈子项目。

“虽然大家不知道存储的是什么文件和数据,但Filecoin有一个天然的优势,就是项目团队和资金都非常可靠。网上到处都有关于它的信息。它不同于那些真假项目。它是更好地推广它。推动一个全新的小项目要容易得多。”阿比昂介绍。

Abiang 发现他们和他们自己一样,没有好的项目可以投票。“我信奉财富翻倍的神话,所以大市场的投资机会,比如股票基金管理等,一定不能珍惜。看到Filecoin,能参与进来,我觉得我的好运来了。” ”

当被问及是否将项目主网延迟、矿机无法交付等风险告知这些新手时,阿边连连摆手。

“你不知道,卖这个,尽量避免提示风险。好处是你想说的,你要宣传高回报。”包括阿比昂本人,也是被“城市节点”的好处所吸引。

成为“节点”后,几千元的矿机可以卖到一万左右,利润相当高。这是硬件的一次性收入;第二个收入是挖矿份额。由于挖矿的专业性,普通客户在购买矿机后几乎无法自行操作和维护。因此,制造商往往提供从生产到开采的一站式服务。至于费用,他们主要从客户的挖矿产出中收取一定比例的代币。

据阿边介绍,运营三个月后,矿机的价格甚至暴涨了两三千。当然,这与成本无关,只是一种“营销方式”。

“降价不好,说明你的资产在贬值,越涨越好,所以我们的价格是阶梯式上涨的,货物还是同一批。”

提价也会造成首次进入成本低于二次进入成本的“错觉”。据全天候科技报道,蜗牛矿机的营销策略之一是发布调价通知,“每台矿机将涨价3000元”,这让不少投资者在矿机上囤积了大量机器。涨价前夕。

根据阿比昂的观察,2018 年是 Filecoin 卖出的最佳时机。

“类似的销售很多,来的人也很多,还经常去几个厂家做检查,感觉跟币圈里币价下跌的完全不一样。”

“我不能再留在这个行业了。”如果一个企业主要靠理解力差和不透明来维持,随着信息的流动,它可能不会持续太久。

同行竞争难免会互相曝光和批评。除了外界的关注,公开质疑Filecoin矿机的声音也越来越多。

与此同时,这个席卷币圈和市场一年的项目流量似乎已经达到顶峰。 “信任的人越来越少,不像以前,他们可以在每个会话中转换几个客户。”截止到2019年2月,预计主网上线时间第二次推迟(Filecoin最早的计划是2018年6月上线,与EOS相同),这也对很多代理商和投资者造成了不小的打击。

阿边也从此开始怀疑,“这个项目是不是有什么问题”。

“刚开始上路的时候,我也怀疑这些矿机就像印钞机,各种高收益不现实。但既然选择了(卖),我就说服自己这是真的。这差距感是不可接受的。”

但是现在,想着没人能保证下一次上线日期不会是“鸽子”(主网不上线,自己的托管收益也不会兑现),还有蜗牛矿机警告和“的风险”行业红利见顶”,阿比的信心开始动摇。

在打了几个月的比赛后退役,阿比昂正式退役。

“客户不付账,利润微薄,他们对这件事没有底线,说不定会发生什么事,他们不能留下来。

随后,阿边的几名同级特工和半数下属也陆续离场。几十个曾经活跃的同行,也渐渐失去了消息。

即便是上面提到的在Filecoin领域小有名气的“十大矿机品牌”,也大都已经销声匿迹了。

截图来自:玛雅矿机官网。在大量资金流通之际,Filecoin 项目取得了可喜的进展。

新人入市,“好币”能否赶走“坏币”?

2019 年 12 月 11 日,Filecoin 开放了测试网,所有矿工终于有了一个真正的试验场。尽管在测试网上挖出的代币没有任何价值,但 1475 等矿机厂商仍在参与测试,寻找漏洞并改进 Filecoin 网络。

5 月 15 日第二阶段测试上线时,Filecoin 的副本证明挖矿速度提升了 2 倍,各种代码的可行性也得到了验证。官方预计,如无意外,主网将于今年7月底至8月中旬上线。

从延期两年到指日可待,Filecoin不仅受到越来越多的关注,人们的议论也开始转向,Trustwalle等钱包以实际行动宣布支持FIL。

“币圈李白”清楚地记得,当时团队正处于HandShake(HNS)ASIC矿机开发的尾声,市场上突然出现了一些研究zk-SNARK零知识证明的技术团队。经了解,这些人原来是Filecoin矿机厂商。

在 Filecoin 项目中,zk-SNARKs 可以达到的效果是验证者可以判断矿工是否诚实地复制和保存了用户的文件,既节省了消费,又保护了用户隐私。

因此,在证明(挖矿)过程中有效运行 zk-SNARKs 部分是 Filecoin 挖矿软件和硬件的基本要求。

但是,由于密码学技术的深入,平时很少有人涉足,所以很多团队几乎都是“边学边用”。

“币圈李白”和他的团队之前开发了一个二层隐私协议,对zk-SNARKs比较了解,所以在结束HNS矿机的研发后,他们进入了Filecoin矿机制造。

当然,靠自己的实力只是一小部分原因。李白团队看到了更大的机遇,Filecoin 承载着颠覆传统的希望。经过3年的潜心研发,终于进入了生态链形成和爆发的前夜。虽然有风险,但为了这样一个天上的工程,值得一赌。

Keystore 也决定尝试挖矿。这家以安全存储私钥为核心业务的公司一直在研究如何更好地提供信息保护、数据隐私和安全存储。

“决定进来不仅是因为 Filecoin 和我们的商业计划之间的直接耦合,还因为广泛的市场需求。” Keystore 营销总监贾旭东告诉 Odaily 星球日报。从1月份到现在,Keystore团队接触了很多想要挖矿Filecoin的机构用户,大致可以分为两类:一类是Filecoin公募/私募股权投资者。他们仍然看好 Filecoin,挖矿是基于较低的成本。获取FIL的方式,所以挖矿Filecoin可以理解为持续增加持仓。

另一个是少数大型比特币矿工。

注意“少数”这个词。大多数比特币挖矿工会出于各种原因拒绝 Filecoin。最大的原因之一是比特币矿工几乎不挖其他币种。另外,Filecoin挖矿曾经以融资着称,让很多矿工不屑一顾;有些人不拒绝新货币,而是坚持 Filecoin 的分布式存储业务。持怀疑态度的人认为可能会被像TON这样的监管压制;还有一些保守的矿工,因为 Filecoin 在挖矿的早期没有可靠的投资收益模型,这让他们望而却步。

但一向偏爱风险的矿工,会将一小部分资产作为“投资趋势”。

事实上,聪明的矿工应该已经意识到,在区块产量减少,币价长期横盘的时刻,但参与者继续押注,比特币挖矿也有天花板。如果你不小心,你可能会陷入亏损并投资 Filecoin 挖矿。我的可能没有什么不同。

采访中,Odaily星球日报看到了一家投资超亿元的矿场,准备将10%的资金投入到Filecoin挖矿中。如此规模的资金对于目前的Filecoin挖矿市场来说并不小,目前正在与领先的矿机厂商洽谈合作。

机构级新矿工、新矿工的涌入,无疑将为之前混乱的Filecoin挖矿市场带来“良币驱逐劣币”的积极推动。

以石榴矿池为例。当第二次测试启动时,它开始参与挖矿。不到10台矿机,就冲到了Filecoin算力榜第9位。其中,单台矿机每日累计算力高达300GB,相比算力榜上一些算力仅为200GB的矿机,具有一定的效率优势。

5月21日,石榴矿池突然公开了其硬件方案,引起了社区的关注。前面提到过,从2018年开始,Filecoin厂商就开始销售各种矿机,而由于是期货,Filecoin矿机对于投资者来说就像黑匣子一样不可知。

Pomegranate Pool 公布硬件计划的初衷是为普通投资者和一些非专业厂商提供参考。就像矿池软件的开源可以刺激更多矿池的诞生,促进算力的去中心化,Filecoin矿工们隐藏了两年的硬件解决方案公开,这无疑超过了行业的劣势。

研发机器的生产是矿机厂商赚钱的一种方式。该解决方案已经是开源的。每个人都必须竞争的是软件和运维服务的可用性和成熟度,这刺激了行业的深入发展。

遗憾的是,阿比昂和他的客户匆匆入市,没能赶上这样的好时机。

撤退的时候,阿扁忘记了自己参与了一年的收获。 “剔除未来的托管收入份额,光卖硬件就是利润,但是这几十台矿机还没有开始产币,也没有转手,所以忙了一年,也只是赚了。” ‘锁’……”

Filecoin主网即将上线,他不知道他的矿机可以挖FIL。 “硬件会以40%的折扣出售,”阿比昂想。

不过,厂商能否交付矿机,目前还不得而知。两年前募集的资金是否用于购买矿机,是否存在经营亏损或超卖,都是风险点。

可想而知,Filecoin的推出将引发一批“蜗牛矿机”的骗局。届时,投资者将踏上的“致富列车”将驶向悬崖。

阿比昂既是传销者,又是受害者,他有很多情绪。但他对维权不抱希望。

“买卖合同中写明,这台机器不退还,除非不能开采。如果厂家通过二级市场购买少量币发给你,据说是由机器。

更多平台被关停,项目方进入长期断线状态,比如上面提到的Maya矿机。更何况,这起诈骗案已经过去两年了。用户是否有意识地保存了证据?维权形势不容乐观。最后,阿边建议正在找时间入市的投资者,对于这样的高风险项目,千万不要All In,力所能及的去做,在项目启动之前,你仍然是早期投资者。不用担心赶不上车。不要掉以轻心的“信仰”。

“投资就是投资,看回报,控制风险。”

挖矿有风险,投资需谨慎,请点击“正在观望”报告/反馈

分布式文件系统FastDFS详解

上一篇《A FastDFS并发故障排查经验》介绍了生产中排查并发问题的经验。可能有些人对FastDFS没有特别的了解,所以打算写几篇文章来完整的介绍一下这个软件。

为什么要使用分布式文件系统?

嗯,这个问题问得很好,使用它对我们有什么好处?带着这个疑问,我们往下看:由于单机时代初期时间紧,各种资源有限的时候,一般都是直接在项目目录下。为用户创建静态文件夹,用于存放项目中的文件资源。如果按不同类型细分,可以在项目目录下创建不同的子目录来区分。例如:resourcesstaticfile、resourcesstaticimg等。

优点:这样做比较方便。项目可直接报价。实现起来也很简单,不需要任何复杂的技术。保存数据库记录和访问也很方便。

缺点:如果只是使用后端系统,一般没有问题,但是作为前端网站使用就会有弊端。一方面,文件和代码是耦合在一起的,存储的文件越多,越混乱;另一方面,如果流量比较大,静态文件访问会占用一定的资源,影响正常的业务,不利于网站的快速发展。

独立的文件服务器随着公司业务的不断发展,将代码和文件放在同一台服务器上的弊端会越来越明显。为解决上述问题,引入独立的图片服务器,工作流程如下:项目上传文件时,首先通过ftp或ssh将文件上传到图片服务器的某个目录,然后访问该目录下的文件通过ngnix或者apache目录,并返回一个独立域名的图片URL地址,前端使用这个URL地址来读取文件。

优点:图像访问消耗服务器资源(因为它涉及操作系统的上下文切换和磁盘I/O操作)。分离后的Web/App服务器可以更加关注其动态处理能力;独立存储更方便做扩容、容灾和数据迁移;方便图片访问请求的负载均衡,方便各种缓存策略(HTTP Header、Proxy Cache等)的应用,更容易迁移到CDN。

坏处: 单机存在性能瓶颈,容灾和垂直扩展性稍差。分布式文件系统可以通过独立的文件服务器解决一些问题。如果有一天存储文件的服务突然宕机了怎么办?可能你会说文件定期保存系统备份,当本机宕机时,快速切换到另一台也可以,但是这个处理需要人工干预。另外,存储的文件超过100T怎么办?单台服务器的性能?这时候就要考虑分布式文件系统了。

业务不断发展,单台服务器的存储和响应迅速达到瓶颈。新业务需要具有高响应性和高可用性的文件访问来支持系统。分布式文件系统一般分为三块内容协作,服务存储,访问仲裁系统,文件存储系统,文件容灾系统。仲裁系统相当于文件服务器的大脑,是按照一定的算法确定的。文件存储的位置,文件存储系统负责保存文件,容灾系统负责文件系统与自身的相互备份。

优点: 可扩展性:毫无疑问,可扩展性是分布式文件系统最重要的特性;高可用:在分布式文件系统中,高可用包括两层,一层是整个文件系统的可用性,二是数据完整一致;弹性存储:数据存储可以灵活增减,可以根据业务需要增减存储池中的资源,不中断系统运行。缺点:系统稍微复杂,需要的服务器较多。 FastDFS无疑是FastDFS,它属于我们上面介绍的分布式文件系统,我们仔细看看:FastDFSFastDFS是什么,是一个开源的轻量级分布式文件系统。它解决了大数据存储和负载均衡的问题。特别适用于以中小文件(推荐范围:4KB

FastDFS 相关概念 FastDFS 服务器具有三个角色:跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)。

Tracker server:Tracker server,主要做调度工作,起到负载均衡的作用。集群中所有存储组和存储服务器的状态信息都记录在内存中,它是客户端与数据服务器交互的枢纽。与GFS中的master相比更加精简,不记录文件索引信息,占用内存小。

Tracker 是 FastDFS 的协调者,负责管理所有的存储服务器和组。每个storage启动后,会连接Tracker,通知自己的group等信息,并保持周期性的心跳。跟踪器根据存储的心跳信息建立一个组。 ==>【存储服务器列表】映射表。

Tracker需要管理的元信息非常少,都会全部存储在内存中;另外,tracker上的元信息是根据storage上报的信息生成的,不需要持久化任何数据,这使得tracker非常容易扩展,直接添加tracker。机器可以扩展成一个跟踪器集群来服务。集群中的每个跟踪器是完全平等的。所有的tracker都接受stroage的心跳信息,生成元数据信息,提供读写服务。

存储服务器:存储服务器(也称为存储节点或数据服务器),文件和文件属性(元数据)都保存在存储服务器上。存储服务器直接利用操作系统文件系统来调用和管理文件。

存储服务器(以下简称存储)以组(卷、组或卷)的形式进行组织。一个组包含多台存储机器,数据相互备份。存储空间以组内容量最少的存储为准,建议组内多个存储配置尽量相同,避免浪费存储空间。

以组为单位组织存储,可以方便应用隔离、负载均衡、副本数量的自定义(一组存储服务器的数量就是该组的副本数量)。例如,将不同的应用程序数据存储在不同的组中可以隔离应用程序数据。同时,可以根据应用的访问特性将应用分配到不同的组中进行负载均衡;缺点是组的容量受限于单机的存储容量。同时,当组内一台机器坏了,数据恢复只能依靠组内的大陆。对于其他机器,恢复时间会很长。

组中每个存储的存储取决于本地文件系统。存储可以配置多个数据存储目录。比如有10个磁盘,挂载在/data/disk1-/data/disk10。配置为 storage 的数据存储目录。

客户端:客户端作为业务请求的发起者,使用TCP/IP协议通过专有接口与Tracker服务器或存储节点进行交互。FastDFS 为用户提供了基本的文件访问接口,如上传、下载、追加、删除等,这些接口以客户端库的形式提供给用户。

另外两个概念: group:group,也可以称为volume。同组的服务器上的文件完全一样,同组的存储服务器是对等的。可以在任意存储服务器上进行文件上传、删除等操作。

元数据:文件相关属性,键值对(Key Value Pair)方法,如:width=1024,heigth=768。

Tracker相当于FastDFS的大脑。无论是上传还是下载,都通过tracker分配资源;客户端一般可以使用ngnix等静态服务器来调用或做部分缓存;存储服务器内部分为卷(或组),卷之间存在并行关系,可以根据资源使用情况随时增加,卷中的服务器文件相互同步以达到灾难恢复的目的。

上传机制 首先,客户端请求Tracker服务获取存储服务器的IP地址和端口,然后客户端根据返回的IP地址和端口号请求上传文件。存储服务器收到请求后生成文件,并将文件内容写入磁盘。返回给客户端file_id、路径信息、文件名等信息,客户端保存相关信息并上传。

内部机制如下: 1. 选择tracker server。当集群中有多个tracker server时,由于tracker完全相等,客户端上传文件时可以任意选择一个tracer。选择存储组。当tracker收到上传文件请求时,它会为该文件分配一个可以存储该文件的组。支持以下组选择规则: 1. 轮询,所有组之间轮询 2. 指定组,指定某个组3,负载均衡,剩余更多存储空间,组优先级2. 选择存储服务器。选择组后,Tracker会选择组中的一个存储服务器给客户端。支持以下存储选择规则: 1. 轮询,在组内所有存储之间轮询 2. 按ip排序的第一个服务器,按ip排序 3,按优先级排序的第一个服务器,按优先级排序(优先级在存储上配置) 3、选择存储路径当存储服务器分配好后,客户端会向storage发送文件写入请求,storage会为文件分配一个数据存储目录,支持以下规则: 1. 轮询,轮询多个存储目录之间 2. 剩余最多的存储空间优先 4. 生成fileid并选择存储目录后,storage会为该文件生成一个Fileid,由存储服务器ip、文件创建时间、文件大小、文件 crc32 和一个随机数,然后 base64 将此二进制字符串编码为可打印的字符串。选择一个两级目录。选择存储目录后,存储会为该文件分配一个fileid。每个存储目录有两层256*256的子目录。存储将根据文件的 fileid 和路由到它的哈希(猜测)两次。一个子目录,然后将文件存放在以fileid为文件名的子目录中。

5. 生成文件名 当文件存储在某个子目录时,就认为文件存储成功,然后会为该文件生成一个文件名。文件名由组、存储目录、二级子目录、fileid、文件后缀名组成。 (由客户端指定,主要用于区分文件类型)拼接在一起。

下载机制客户端带上文件名信息,请求Tracker服务获取存储服务器的IP地址和端口,然后客户端根据返回的IP地址和端口号请求下载文件,存储服务器返回收到请求后将文件发送给客户端。与上传文件一样,客户端在下载文件时可以选择任何跟踪服务器。 tracker向tracker发送下载请求,必须带上文件名信息。 Tracke从文件名中解析出文件的分组、大小、创建时间等信息,然后为请求选择一个存储来服务读请求。由于组内的文件在后台是异步同步的,所以读取时可能会出现文件没有同步到某些存储服务器的情况。为了尽可能避免访问这样的存储,tracker根据以下规则选择可读的组Storage。

1.文件上传到的源存储——只要源存储是存活的,就必须包含这个文件,源地址编码在文件名中。

2.文件创建时间戳==存储同步到时间戳和(当前时间-文件创建时间戳)>最大文件同步时间(例如5分钟)-文件创建后,认为经过了最大同步时间,它肯定已经同步到其他存储。

3.文件创建时间戳<存储同步到的时间戳。 - 确定同步时间戳之前的文件已经同步。 4.(当前时间-文件创建时间戳)>同步延迟阈值(如一天)。 - 在同步延迟阈值时间之后,认为文件必须已经同步。

同步时间管理 当文件上传成功,客户端立即发起文件下载请求(或删除请求)时,Tracker如何选择合适的存储服务器?实际上,每个存储服务器都需要定期更新自己的信息上报给tracker,这个信息包括本地同步时间(即最新同步文件的时间戳)。根据每个存储服务器的报告,跟踪器可以知道刚刚上传的文件是否已经在存储组中同步。同步信息上报如下图:写入文件时,如果客户端将文件写入组内的存储服务器,则认为文件写入成功。存储服务器完成文件写入后,后台线程会将文件同步到同一组中的其他存储服务器。

每个storage写一个文件后,会同时写一个binlog。 binlog不包含文件数据,只包含文件名等元信息。该binlog用于后台同步,存储会记录与组内其他存储同步的进度。重启后可以继续同步上次的进度;进度记录在时间戳中,因此最好确保集群中所有服务器的时钟保持同步。

存储同步进度会作为元数据的一部分上报给tracker,tracke在选择读取存储时会以同步进度作为参考。例如,一个组中有三台存储服务器 A、B 和 C。 A同步到C直到进度为T1(T1之前写入的文件已经同步到B),B同步到C直到时间戳为T2(T2>T1),当tracker收到这些同步进度信息时,会进行排序取出并用最小的一个作为C的同步时间戳。本例中T1为C的同步时间戳,即T1(即T1之前写入的所有数据都已经同步到C);同理,根据上述规则,tracker 会为 A 和 B 生成同步时间戳。

复杂的文件ID-FID 说到下载,就不得不提到文件索引(又称:FID)的复杂设计。文件索引结构如下图所示。客户端上传文件后,存储服务器返回给客户端,以便日后访问该文件的索引信息。文件索引信息包括:组名、虚拟磁盘路径、数据二级目录、文件名。

组名:上传文件所在的存储组的名称。文件上传成功后,存储服务器会返回,客户端需要自行保存。

Virtual Disk Path:存储服务器配置的虚拟路径,对应磁盘选项store_path*。

数据二级目录:存储服务器在每个虚拟磁盘路径下创建的二级目录,用于存储数据文件。

文件名:与文件上传时不同。由存储服务器根据具体信息生成,文件名包括:源存储服务器IP地址、文件创建时间戳、文件大小、随机数、文件扩展名等信息。

快速定位文件了解了FastDFS FID的组成之后,我们来看看FastDFS是如何通过这个精致的FID定位需要访问的文件的。

1、组名追踪器可以快速定位到客户端需要访问的存储服务器组,并选择合适的存储服务器提供客户端访问; 2、存储服务器基于“文件存储虚拟磁盘路径”和“数据文件”。 “级别目录”可以快速定位到文件所在的目录,根据文件名找到客户端需要访问的文件。

如何构建FastDFS?参考我博客上的这篇文章(FastDFS集群安装配置:http:///fastdfs/2017/10/10/cluster-building-fastdfs.html),下图是一个用户的架构示意图。全来自网络周末,让我们唱首歌:报告/反馈

微信
登录
用户名
密码
注册
用户名
密码
确认密码
昵称
邮箱
QQ
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱