firebase - GunDB 存储和 super 对等选项

标签 firebase gun gundb

GunDB 基础/存储 + Superpeer

嗨伙计,

我在 GunDB 的第四天探索并在阅读文档和其他各种教程时,目前还不确定一件事:存储以及我是否需要 Superpeer?

尚未找到使用 GunDB 的生产 dApp 示例

到目前为止,我看到的教程和演示要么在没有同伴的情况下实例化 gun,要么使用 heroku 同伴实例化枪,例如 gun = Gun( [https://gun-us.herokuapp.com/gun, https://foobar.herokuapp.com/gun ] )。 .

如果你想演示一个聊天或待办事项应用程序,我认为后者很好,你想在这些应用程序中演示实时行为,包括在那些 super 同行的帮助下对人们的网络浏览器进行 p2p 同步。我理解这个概念,它很棒,我喜欢它。

从 Firebase 迁移到 GunDB

但是,由于我即将从 Firebase firestore 迁移我的 Sapper (Svelte) 应用程序(因为图形数据集的性质比集合和文档的层次结构更适合我的应用程序)我已经有大约 9 GB 的数据事实上,Firestore 始终在线供客户同步,此时我最大的问号是,我如何在我拥有的 GunDB 中构建等价物

  • 能够存储我的 9 GB 不断增长的数据(目前主要是基于文本的数据,但 future 还有图像和视频,届时存储需求将大幅增长)
  • 并确保使用网络浏览器的人始终可以使用数据

  • 是否是 super 同行?存储选项?

    我读过 AXE,我读过 RAD 以及它是具有 GunDB 节点部署的默认存储算法的事实,我看到有一个可选的 AWS S3 存储适配器,当然我也读过关于(计划但尚未准备好?)IPFS storage option .

    总而言之,关于可用的存储和 super 对等选项,我现在完全迷茫和困惑如何在这一点上继续。
  • 我需要 super 同行吗?我想要一个吗?
  • 如果我想要一个,什么是生产托管设置?我正在使用 firebase 托管、身份验证、存储、firestore 和消息传递 atm,所以也许有人在 GCP 上运行了设置?
  • 如何塑造我的存储设置,使其不是演示应用程序,而是具有更大数据集的真实应用程序?
  • 对于付费客户的生产设置,我应该选择哪个托管服务提供商?我更喜欢任何 GCP 服务,可能让 super 对等点将其数据存储到 firstore 中,并且或多或少地将图形提供给所有最初请求数据的网络浏览器,直到图形在网络浏览器之间充分分布。
  • 最佳答案

    # 在生产应用程序中

    我们已经看到每月有多达 3000 万活跃用户在 HackerNoon、Internet Archive、NotABug 以及一些我还不能提及的大型电子商务和替代视频平台上使用 GUN。

    去中心化的应用程序不是传统意义上的“部署”。如果您选择一个 dApp,甚至可以从您的硬盘驱动器、静态网站或传统的“服务器”加载它(不要!),来“部署”一个 dApp。

    一个很好的例子是,在 5 分钟交互式编码教程 (https://gun.eco/docs/Todo-Dapp) 的最后一步中,您通过在 CodePen/other 中加载应用程序并与您的妈妈和 friend 共享该 URL 来“部署”您的应用程序。

    # 贮存

    默认情况下,所有对等点(浏览器、nodejs、手机)都存储数据。

    可悲的是,有些或多或少是可靠的。

    原生手机应用程序可能会可靠地存储数据,但可能无法“在线”供其他人访问。

    浏览器可能会将数据存储在 localStorage 中,但可能随时会被删除。

    因此,是的,始终在线并具有大而可靠的存储容量的专用“对等方”将始终有利于作为备份。

    不过,这不需要成为集中式服务器。您可以运行多台机器并与所有机器对等。我知道有人甚至将他们的桌面直接连接到互联网以获得专用的 IPv6 地址并使用它。

    # 如果我使用 Cloud Peer,我该如何设置?

    这非常简单,在主自述文件中,只需“一键部署”到 Heroku/Zeit 或 Docker 到其他云:

    https://github.com/amark/gun#deploy

    这些不仅仅是演示同行!他们每秒处理数千个用户。它们是我用于一些大型生产应用程序的那些。

    当然,仍然可能存在打嗝或错误,但我们正在不断改进它。

    GUN 的目标是真正简单。无需与本地测试和生产部署不同的 super 复杂配置。他们都是同龄人,他们都是一样的!

    最后也是最后一点,根据您部署云对等点的位置,您可能拥有也可能没有持久存储。因此,您可能需要做的唯一烦人的配置是连接到 S3 或任何兼容的替代方案(Open Stack、GC、Azure、Sia 等),请查看以下内容:

    https://gun.eco/docs/Using-Amazon-S3-for-Storage

    关于firebase - GunDB 存储和 super 对等选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61229872/

    相关文章:

    java - Firestore查询问题: Where is I am mistaken?

    python - 使用 PyJWT 在 Python 中解码 Firebase JWT

    javascript - gun.not() 方法不适用于嵌套节点

    gun - gundb中的私有(private)写入和公共(public)读取

    gun - 对枪支数据库中的键感到困惑

    javascript - GunDB SEA 让其他用户写入用户空间

    node.js - 无法在谷歌云功能中查询firebase

    javascript - Firebase createUser 方法返回未定义

    gun - 当路径有多个对象时如何删除枪数据库中的数据

    node.js - 如何将子目录路径传递到 GunDB S3 存储驱动程序,以便可以与非 Gun 数据共享相同的 S3 存储桶?