首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【IPFS相关】进入IPFS世界

星际文件系统非常适合以分散的方式存储数据,它是在区块链空间中存储数据最常用的工具之一。在区块链中存储数据既昂贵又缓慢,而在IPFS中存储数据既免费又快速。IPFS不允许通过散列来复制数据,而散列两次将返回相同的散列。

IPFS似乎工作得很好。你可以添加数据,它会留在这个节点的全局网络中。任何具有散列的人都可以访问数据(注意,除非使用私有IPFS节点,否则IPFS上的所有数据都是公共的),并且相同的数据不会重复。此时您可能会问的问题是,“我可以使用IPFS更改数据库并完全分散吗?”

虽然IPFS非常适合存储数据,但如果IPFS节点宕机,它不能保证数据可用。困惑吗?想象一下。启动IPFS节点,运行一个月,其中包含非常重要的数据。你的机器坏了,你很庆幸这是一个公共网络这样其他人就能得到你的数据,对吧?不完全是,IPFS从不保证您的数据总是可用的。没有其他节点对它感兴趣,因此除了您的忠实节点之外,没有其他人固定您的数据。因此,您的数据将丢失,因为没有其他节点拥有它。

这就是Filecoin的作用,Filecoin允许其他节点存储您的数据,以防您的节点宕机,并收取少量费用,以避免丢失您的私有数据。Filecoin非常棒,让我们使用它吧!嗯,现在还没有……Filecoin正在开发中,将来的某个时候会上市。目前,我们必须采用现有的解决办法,包括:

运行多个IPFS节点

~ /备份。ipf文件夹

运行IPFS-cluster

使用其他方法(如Storj)

有比这更多的解决方案,但是我想讨论的是ipfs集群。Ipfs-cluster允许运行多个节点,每个节点复制数据并使用RAFT consensus保持节点同步。让我们看看需要多少个节点来保证系统的安全。一般情况下,节点可能会宕机或失去internet连接。假设我们有t个节点,我们至少需要t+1来保持系统运行,简单来说;这只意味着至少有一个节点在运行,即使其他节点都在运行。如果你认为5个节点不可能同时下降那么你的风险因子t是4。

IPFS集群使用IPFS节点存储数据,它构建在标准IPFS之上,这意味着使用集群并不意味着运行不同的IPFS节点,而是运行与使用纯IPFS相同的节点。IPFS集群有一个代理节点,用于存储所有pin请求并实现RAFT算法(基于Leader的方法)。

其思想是,您将与处理同步和备份的IPFS集群代理节点进行交互,这样您就可以将其完全视为IPFS节点。ip - cluster节点之间交换消息,例如请求确定散列或发送心跳消息以知道节点是否宕机。这种方法的最大优点之一是,一旦节点重新启动,它就可以接收它错过的所有消息,并在短时间内获得最新消息。

这太棒了!什么都用IPFS ?不要这么快!

虽然IPFS在很多方面都很棒(甚至还有回购),但它也有自己的问题。当IPFS节点连续连接到越来越多的节点时,它的内存使用量会变得非常大——更不用说它消耗的带宽了!对于IPFS节点来说,1gb的内存是不够的,操作系统(Ubuntu)会在IPFS守护进程开始使用过多内存时杀死它,当您看到它时,您看到的只是一个单词“已死”。这听起来很可怕,如果您的应用程序依赖于IPFS全天运行,那么您将需要一台具有更多内存和带宽容量的机器。然而;解决这个问题还有其他的办法。(注意,这是IPFS节点的问题,而不是IPFS集群的问题)。

限制IPFS连接的节点数量可以解决这个问题,并且可以通过两种方式之一来实现(这里讨论的所有内容都在~/. IPFS /config中的IPFS配置文件中)。

手动:通过更改配置文件以禁用MDNS发现或将间隔设置得太高(不建议这样做,它实际上将您的节点与网络的其他部分隔离开来,其他IPFS节点能够从您的节点获取内容的可能性非常低)。

通过使用IPFS连接管理器来限制节点连接的数量。它有三个属性:

1-最大连接:

节点允许的最大连接数,并在此之后开始删除连接。

2-最小连接:

节点试图维护的最小连接数

3-时间间隔:

之后,最大和最小的时间限制将被检查,例如,如果一分钟然后你的节点将确保每一分钟分钟数≤同行(ipf群同龄人| wc - l)≤最大连接

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190111A0GD5500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券