GunDB基础/存储+Superpeer
大家好,
我正在进行GunDB探索的第四天,在阅读文档和其他各种教程时,有一件事目前还不确定:存储&我是否需要Superpeer
还没有找到一个与GunDB一起生产dApp的例子
到目前为止,我看到的教程和演示要么是在没有对等体的情况下实例化gun,要么是在使用heroku对等体(如gun = Gun( [https://gun-us.herokuapp.com/gun, https://foobar.herokuapp.com/gun ] )
)的情况下进行实例化。
我认为,如果你想演示一个聊天或todo应用程序,在那里你想展示实时行为,包括在超级玩家的帮助下对人们的网络浏览器进行p2p同步,后者是很好的。我理解这个概念,它很棒,我喜欢它。
从Firebase迁移到GunDB
然而,由于我即将从Firebase firestore中迁移我的Sapper(Svelte)应用程序(因为图形数据集的性质比集合和文档的层次结构更适合我的应用程序),我已经有了大约9 GB的数据,而且firestore总是在线供客户同步,我现在最大的疑问是,在我有的情况下,我如何使用GunDB构建等价物
- 能够存储我的9 GB连续增长的数据(目前主要是基于文本的数据,但未来也有图像和视频,届时存储需求将大幅增长)
- 并确保人们在任何时候都可以使用网络浏览器获得数据
是否是超级大国?存储选项
我读过关于AXE的文章,读过关于RAD的文章,以及它是GunDB节点部署的默认存储算法的事实,我看到有一个可选的AWS S3存储适配器,当然我也读过关于(计划但尚未准备好?)IPFS存储选项的文章。
总而言之,我现在完全迷失了方向,对如何在这一点上继续提供存储和超级供应商选项感到困惑。
- 我需要超级跑车吗?我想要一个吗?
- 如果我想要一个,什么是生产主机设置?我正在使用firebase托管、身份验证、存储、firestore和消息atm,所以可能有人设置了GCP
- 我如何调整我的存储设置,使其不是一个演示应用程序,而是一个具有更大数据集的真实应用程序?
- 对于付费客户的生产设置,我应该选择哪个托管提供商?我更喜欢任何GCP服务,可能让superpeer将其数据存储到firstore中,并或多或少地将该图提供给所有最初请求数据的网络浏览器,直到该图在网络浏览器中充分分布
#生产应用
我们已经看到,在HackerNoon、Internet Archive、NotABug和一些大型电子商务&替代视频平台,我还不能提及。
去中心化的应用程序不是传统意义上的"部署"。dApp甚至可以通过从硬盘、静态网站或传统的"服务器"(如果你选择的话)加载来"部署"它(不要!)。
一个很好的例子是在5分钟交互式编码教程的最后一步中(https://gun.eco/docs/Todo-Dapp)你可以通过在CodePen/other中加载应用程序并与你的妈妈和朋友共享该URL来"部署"你的应用程序。
#存储
默认情况下,所有对等端(浏览器、nodejs、手机)都存储数据。
遗憾的是,有些或多或少是可靠的。
本地手机应用程序可能可靠地存储数据,但可能不会"在线"供其他人访问。
浏览器可能会将数据存储在localStorage中,但这些数据可能会在任何时间点被删除。
所以,是的,一个专门的"同行",总是在线的,有很大的&可靠的存储容量作为备份总是有益的。
不过,这不需要成为一个集中式服务器。你可以运行许多机器,并与所有机器进行对等。我认识一些人,他们甚至将桌面直接连接到互联网,以获得专用的IPv6地址并使用该地址。
#如果我使用云对等,我该如何设置它?
这非常简单,在主自述中,只需"一键部署"到Heroku/Zeit或Docker到其他云:
https://github.com/amark/gun#deploy
这些不仅仅是演示同行!他们每秒处理数千个用户。它们是我在一些大型生产应用程序中使用过的。
当然,仍然可能会出现问题或错误,但我们正在不断改进
GUN的目标是真正的简单。不需要与本地测试和生产部署不同的超级复杂配置。他们都是同龄人,都一样!
最后一点也是最后一点是,根据您在哪里部署云对等设备,您可能有也可能没有持久存储。因此,您可能要做的唯一烦人的配置是连接到S3或任何兼容的替代方案(Open Stack、GC、Azure、Sia等),请查看以下内容:
https://gun.eco/docs/Using-Amazon-S3-for-Storage