Опции хранения GunDB и Superpeer - PullRequest
       34

Опции хранения GunDB и Superpeer

2 голосов
/ 15 апреля 2020

Основы GunDB / Хранение + Superpeer

Привет, ребята,

У меня четвертый день изучения GunDB , и пока я читаю документы и различные другие учебные пособия, есть одна вещь, которая неясна на данный момент: Хранение и нужен ли мне Superpeer?

Не нашли пример для производственного приложения с GunDB

учебные пособия и демонстрации, которые я видел до сих пор, либо создание экземпляра пистолета без пиров, либо с пэрами героку, такими как gun = Gun( [https://gun-us.herokuapp.com/gun, https://foobar.herokuapp.com/gun ] ).

Я считаю, что последнее хорошо, если вы хотите продемонстрировать приложение чата или задачи, где бы вы нравится демонстрировать поведение в режиме реального времени, включая p2p-синхронизацию веб-браузеров людей с помощью этих суперпользователей. Я понимаю эту концепцию, это здорово, мне это нравится.

Миграция с Firebase на GunDB

Однако, так как я собираюсь перенести свое приложение Sapper (Svelte) из Firebase firestore (потому что природа набора графических данных подходит моему приложению намного лучше, чем иерархия коллекций и документов), где у меня уже есть около 9 ГБ данных и тот факт, что firestore всегда онлайн для клиентов, чтобы синхронизировать c с моим большим большим вопросительным знаком на данный момент, как мне построить эквивалент с GunDB, где у меня есть

  • возможность хранить мои 9 ГБ постоянно растущих данных (в основном текстовые данные на данный момент, но также изображения и видео в будущем, в какой момент потребности в хранилище будут сильно расти)
  • и убедитесь, что данные всегда доступны людям с их веб-браузерами

Superpeer или нет? Опции хранения?

Я читал об AX, я читал о RAD и о том, что это алгоритм хранения по умолчанию с развертыванием узла GunDB, я видел, что есть дополнительный адаптер хранения AWS S3, и я, конечно, также читал о (запланированном, но еще не готовом?) варианте хранения IPFS .

В общем, теперь я полностью растерян и растерян, как продолжать на данный момент, что касается хранения и доступных опций superpeer.

  • мне нужен superpeer? Я хочу один?
    • если я хочу один, каковы настройки рабочего хостинга? Я использую Firebase хостинг, аутентификацию, хранилище, firestore и систему обмена сообщениями, так что, может быть, у кого-то есть установка, работающая вне GCP?
  • Как мне настроить мои настройки хранения так, чтобы это не было демо-приложение, но реальное приложение с большим набором данных?
    • какого хостинг-провайдера выбрать для производственной установки с платящими клиентами? Я бы предпочел любую службу GCP, возможно, чтобы супер-владелец сохранял свои данные в первом магазине и более или менее предоставлял график всем веб-браузерам, которые первоначально запрашивают данные, пока график не распределится достаточно среди веб-браузеров.

1 Ответ

2 голосов
/ 17 апреля 2020

# В производственных приложениях

Мы видели, как до 30 миллионов активных пользователей ежемесячно используют GUN для HackerNoon, Inte rnet Archive, NotABug и некоторых крупных платформ для электронной коммерции и альтернативных видео, которые я пока не могу упомянуть.

Децентрализованное приложение не "развернуто" в традиционном смысле. Приложение dApp «развертывается», даже загружая его с жесткого диска, веб-сайта stati c или традиционного «сервера», если вы выбираете один (не!).

Отличный пример это то, что на последнем шаге 5-минутного интерактивного учебника по кодированию (https://gun.eco/docs/Todo-Dapp) вы «развертываете» свое приложение, загружая его в CodePen / other и передавая этот URL-адрес своей маме и друзьям.

# Хранилище

Все узлы (браузеры, nodejs, телефоны) хранят данные по умолчанию.

К сожалению, некоторые более или менее надежны.

Собственный телефонное приложение может надежно хранить данные, но не может быть подключено к сети для других пользователей.

Браузер может хранить данные в localStorage, но они могут быть удалены в любой момент времени.

Так что да, выделенный «одноранговый узел», который всегда подключен к сети и имеет большой и надежный объем хранилища, всегда будет полезен в качестве резервной копии.

Хотя нет необходимости в том, чтобы это был централизованный сервер. Вы можете запустить много машин и смотреть со всеми из них. Я знаю людей, которые даже подключают свой рабочий стол напрямую к inte rnet, чтобы получить выделенный IPv6-адрес и использовать его.

# Если я использую Cloud Peer, как мне его настроить?

Это безумно просто, и в главном README просто "развертывание в 1 клик" для Heroku / Zeit или Docker для других облаков:

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

Это не просто демоверсии! Они обрабатывают тысячи пользователей в секунду. Это те, которые я использовал для некоторых крупных производственных приложений.

Конечно, все еще могут быть икоты или ошибки, но мы постоянно улучшаем их.

Цель GUN - быть по-настоящему простым. Без необходимости в сверхсложной конфигурации, которая отличается от локального тестирования и развертывания в производственных условиях. Все они одноранговые, они все одинаковые!

Последнее и последнее замечание: в зависимости от того, где вы развернули одноранговый облачный ресурс, у вас может быть или не быть постоянного хранилища. Таким образом, единственная раздражающая конфигурация, которую вам, возможно, придется сделать, это подключить к S3 или любой совместимой альтернативе (Open Stack, G C, Azure, Sia, et c.), Проверьте это :

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

...