GunDB Storage и параметры Superpeer
Основы GunDB / Хранение + Superpeer
Привет народ,
Я на четвертый день изучаю GunDB, и пока я читаю документы и различные другие руководства, есть одна вещь, которая на данный момент неясна: хранилище и нужен ли мне Superpeer?
Не удалось найти пример рабочего dApp с GunDB
Учебные пособия и демонстрации, которые я видел до сих пор, либо создают экземпляр оружия без сверстников, либо с сверстниками heroku, такими как gun = Gun( [https://gun-us.herokuapp.com/gun, https://foobar.herokuapp.com/gun ] )
.
Я считаю, что последнее хорошо, если вы хотите продемонстрировать чат или приложение с задачами, в котором вы хотите продемонстрировать поведение в реальном времени, включая синхронизацию p2p веб-браузеров людей с помощью этих суперпользователей. Я понимаю эту концепцию, это здорово, мне это нравится.
Переход с Firebase на GunDB
Однако, поскольку я собираюсь перенести свое приложение Sapper (Svelte) из Firebase firestore (потому что характер набора данных графика подходит моему приложению намного лучше, чем иерархия коллекций и документов), у меня уже есть около 9 ГБ данных и тот факт, что firestore всегда в сети, чтобы клиенты могли синхронизироваться с ним, у меня большой вопрос на данный момент: как мне создать аналог с GunDB, где у меня есть
- возможность хранить мои 9 ГБ постоянно растущих данных (в основном текстовые данные на данный момент, но также изображения и видео в будущем, после чего потребности в хранилище значительно возрастут)
- и убедитесь, что данные всегда доступны людям с их веб-браузерами
Сверхпир или нет? Варианты хранения?
Я читал об AX, я читал о RAD и о том факте, что это алгоритм хранения по умолчанию с развертыванием узла GunDB, я видел, что есть дополнительный адаптер хранилища AWS S3, и я, конечно, также читал о (планируется, но еще не готов?) Вариант хранения IPFS.
В общем, теперь я полностью заблудился и не понимаю, как продолжить работу с доступными параметрами хранилища и суперпира.
- мне нужен суперпер? Я хочу один?
- если я захочу, какова настройка производственного хостинга? Я использую firebase хостинг, аутентификацию, хранилище, firestore и обмен сообщениями, так что, может быть, у кого-то есть установка, работающая с GCP?
- как настроить хранилище так, чтобы это не демонстрационное приложение, а реальное приложение с большим набором данных?
- Какой хостинг-провайдер выбрать для производственной установки с платными клиентами? Я бы предпочел любую службу GCP, возможно, чтобы суперпер хранил свои данные в firstore и более или менее предоставлял график всем веб-обозревателям, которые изначально запрашивают данные, до тех пор, пока график не распределяется между веб-обозревателями в достаточной степени.
1 ответ
# В производственных приложениях
Мы видели, что до 30 миллионов активных пользователей в месяц используют GUN в HackerNoon, Internet Archive, NotABug, а также на некоторых крупных платформах электронной коммерции и альтернативных видео, о которых я пока не могу упомянуть.
Децентрализованное приложение не "разворачивается" в традиционном смысле. Приложение dApp "разворачивается", даже загружая его с вашего жесткого диска, статического веб-сайта или традиционного "сервера", если вы его выбираете (не делайте этого!).
Прекрасным примером этого является то, что на последнем этапе 5-минутного интерактивного руководства по кодированию ( https://gun.eco/docs/Todo-Dapp) вы "развертываете" свое приложение, загружая его в CodePen/other и делясь этим URL-адресом с твоя мама и друзья.
# Место хранения
Все одноранговые узлы (браузеры, nodejs, телефоны) по умолчанию хранят данные.
К сожалению, некоторые из них более-менее надежны.
Собственное приложение для телефона может надежно хранить данные, но может быть недоступно для других пользователей.
Браузер может хранить данные в localStorage, но они могут быть удалены в любой момент.
Так что да, выделенный "одноранговый узел", который всегда находится в сети и имеет большую и надежную емкость хранения, всегда будет полезно иметь в качестве резервного.
Однако нет необходимости в том, чтобы это был централизованный сервер. Вы можете запускать множество машин и взаимодействовать со всеми из них. Я знаю людей, которые даже подключают свой рабочий стол напрямую к Интернету, чтобы получить выделенный IPv6-адрес и использовать его.
# Если я использую одноранговый узел в облаке, как его настроить?
Это безумно просто, и в основном README просто "развернуть в один клик" в Heroku/Zeit или Docker в другие облака:
Это не просто демо-сверстники! Они обрабатывают тысячи пользователей в секунду. Именно их я использовал для некоторых крупных производственных приложений.
Конечно, могут быть ошибки или ошибки, но мы постоянно улучшаем их.
Цель GUN - быть действительно простой. Без необходимости в сверхсложной конфигурации, которая отличается от локального тестирования по сравнению с производственным развертыванием. Все они равные, все одинаковые!
Последнее и последнее замечание: в зависимости от того, где вы развертываете облачный одноранговый сервер, у вас может быть или не быть постоянного хранилища. Итак, единственная неприятная конфигурация, которую вам, возможно, придется сделать, - это подключиться к S3 или любой другой совместимой альтернативе (Open Stack, GC, Azure, Sia и т. Д.), Проверьте это: