? Редактирование: Post:21.body Сохранить Удалить Закрыть
Инициализация...

Самое новое

СледитьСлежу
+ Создать новую тему
FAQ | En-Zer0Talk | Блоги о разработке: gomzik'a / kostaNew
Загрузка...

Title

Body
^1 ^2 added ━ автор user_name
More topics

Main ZeroNet news How did you find ZeroNet?

Follow in NewsfeedFollowing

Идеальная p2p соц сеть

Какой должна быть p2p форум, соц сеть, чат (система, комплекс програм/плагинов)
чтобы быть популярным и востребованым?

^2 ^3 justman отправил on Jul 06, 2019
Please sign innew comment
Войти как...
Отправить
You are running out of your allowed space, please contact the site's admin at unknown to raise your limit.
user_nameadded ^1 ^2
Ответить
Body
if0on Aug 02, 2019 ^1 ^2
Ответить

losij: Идеальная p2p соцсеть должна быть создана инженерами, а не кодерами. От кодеров можно ожидать только очередной зеронет.

Плох, тот кодер, который не считает себя продвинутым проектировщиком-архитектором :-))) Проектировть (или хотя бы продумывать детали) - это долго, сложно и уныло, надо сразу - в код. А потом удивляются: почему у них получаются пятиколесные велосипеды, способные ездить только по прямой...

losijon Jul 30, 2019 ^1 ^2
Ответить

geekless: Лол. Кто-нибудь из отметившихся собирается писать код?

Идеальная p2p соцсеть должна быть создана инженерами, а не кодерами. От кодеров можно ожидать только очередной зеронет.

mistaleroon Jul 08, 2019 ^1 ^2
Ответить

justman: можно будет удалять пользователей с базы которые не будут активны на протяжении какого то периода, 1 год (к примеру)

А вот этого не надо!

if0on Jul 07, 2019 ^1 ^2
Ответить

geekless: Зачем писать, если можно бухать.

По этому поводу есть мудрая пословица: "дурная голова не дает ногам покоя".

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0: Вы уверены в качестве (производительности, безглючности и что авторы в следующей версии не поломают их API) этих либ, и что они подойдут для ваших целей?

по поводу API более мение уверен

что они подойдут для ваших целей?

да в 95 проц случаев, для p2p связи
ознакамливался и при том, что ipsf уже работает уже показатель и в принципе довольно неплохо работает

if0on Jul 07, 2019 ^1 ^2
Ответить

justman: делай :-)потом посмотрим у кого что получилось и как работаетк тому же на go есть довольно годные p2p библиотекиразработчики ipfs пилят

Вы уверены в качестве (производительности, безглючности и что авторы в следующей версии не поломают их API) этих либ, и что они подойдут для ваших целей?

geeklesson Jul 07, 2019 ^1 ^2
Ответить

if0: Прежде чем написать хоть одну строчку кода надо, для начала, хорошенько продумать: для чего она будет написана.

Зачем писать, если можно бухать.

if0on Jul 07, 2019 ^1 ^2
Ответить

justman: думаю если будет так, тогда будут под каждую тему делать отдельный 0net сайттаким образом нагрузка значительно падает на каждый отдельный сайтно на систему в целом, нет

Боюсь предствать какой ад будет твориться с клиентом, когда количестов зайтов на диске станет хотя бы несколько тысяч... Особенно сколько времени займет синхронизация после старта клиента. При полторы сотни она происходит около 10 мин...

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0: А мне хочется на С99 :-)

делай :-)
потом посмотрим у кого что получилось и как работает
к тому же на go есть довольно годные p2p библиотеки
разработчики ipfs пилят

if0on Jul 07, 2019 ^1 ^2
Ответить

justman: понимаю, но мне хочется это сделать на golang, у питона довольно много недостатковхотя и не скажу что у golang их нету)но для работы с сетью довольно часто выбирают golang

А мне хочется на С99 :-)

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0: Что будет с производительностью при количестве активных пользователей хотя бы в 10К?

думаю если будет так, тогда будут под каждую тему делать отдельный 0net сайт
таким образом нагрузка значительно падает на каждый отдельный сайт
но на систему в целом, нет

if0on Jul 07, 2019 ^1 ^2
Ответить

geekless: Потому что данные надо как-то сериализовать, а json как раз достаточно простой и популярный формат. Если гонять по сети "объекты" вместо файлов, то возникает вопрос о хранилище объектов. Если мы храним объекты в СУБД, то встаёт вопрос бэкапов и читаемости средствами за пределами этой СУБД. (Да и её надежности тоже.) Простой текстовый формат эти вопросы снимает.

Что будет с производительностью при количестве активных пользователей хотя бы в 10К?

if0on Jul 07, 2019 ^1 ^2
Ответить

geekless: Ну то есть код ты писать не будешь. :D

Прежде чем написать хоть одну строчку кода надо, для начала, хорошенько продумать: для чего она будет написана.

geeklesson Jul 07, 2019 ^1 ^2
Ответить

if0: [...]

Ну то есть код ты писать не будешь. :D

if0on Jul 07, 2019 ^1 ^2
Ответить

geekless: Лол. Кто-нибудь из отметившихся собирается писать код?

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

Для примера рассмотрим зайт форума. Он хранит сообщения всех позователей, и его владелец устанавливает лимит объема сообщений. Эта схема работает пока на форуме десяток "умеренно активных пользователей". Что будет если их количество возрастет до нескольких сотен или тысячи? Размер обязательных данных будет расти "в бесконечность", в результате такие форумы будут весить сотни мегабайт и админ замучается управлять лимитами.

Но это самая малая из проблем. Основной проблемой станет синхронизация данного зайта форума между тысячью пользователей. Любое сообщение любого пользователя вызовет синхронизацию у тысячи - что приведет к большому количеству служебного трафика, количество которого напрямую зависит от количества постящих пользователей. Теперь представте, что будет твориться с клиентом, если таких синхронизаций будет происходить пару десятков в секунду? И это только по одному зайту.

justmanon Jul 07, 2019 ^1 ^2
Ответить

geekless: Потому что данные надо как-то сериализовать, а json как раз достаточно простой и популярный формат. Если гонять по сети "объекты" вместо файлов, то возникает вопрос о хранилище объектов. Если мы храним объекты в СУБД, то встаёт вопрос бэкапов и читаемости средствами за пределами этой СУБД. (Да и её надежности тоже.) Простой текстовый формат эти вопросы снимает.

читать с СУБД и отправлять json-ом или другим протоколом, по моему норм
по поводу бекапов, то у всех других пользователей есть бекапы, если у тебя что то накрылось, скачать всегда есть откуда
ну и использовать транзакции, если запись, чтобы все четко стало

geeklesson Jul 07, 2019 ^1 ^2
Ответить

justman: по ходу докер контейнер включает настроенный тор просто, на то он и докер

Да, так же как и сборка под Windows. Если просто ставить пакетом в Линуксе, то тор придётся прикручивать отдельно.

Я себе напилил такой враппер, чтобы не спотыкаться обо всё, что в образе докера автор исходно не предусмотрел: http://127.0.0.1:43110/1FEvdSRAqTEuGpc31s9ad7rPc4jqRpeWfG

geeklesson Jul 07, 2019 ^1 ^2
Ответить

justman: вот зачем эти файлы, data.json

Потому что данные надо как-то сериализовать, а json как раз достаточно простой и популярный формат. Если гонять по сети "объекты" вместо файлов, то возникает вопрос о хранилище объектов. Если мы храним объекты в СУБД, то встаёт вопрос бэкапов и читаемости средствами за пределами этой СУБД. (Да и её надежности тоже.) Простой текстовый формат эти вопросы снимает.

justmanon Jul 07, 2019 ^1 ^2
Ответить

geekless: В составе дистрибутива ZN есть же тор. Я гоняю ZN в докер-контейнере, пока не сталкивался с тем, что тор не работает. Даже из поселка через yota, едва-едва добивая до вышки. В таких условиях ZN работает даже лучше, чем обычный веб.

по ходу докер контейнер включает настроенный тор просто, на то он и докер

justmanon Jul 07, 2019 ^1 ^2
Ответить

geekless: Был у меня период, когда хотелось взять и запилить p2p сеть самому. :)
На мой взгляд, вся эта критика и размышления "как лучше" имеют тот фундаментальный недостаток, что те же вопросы можно намного проще решить доработкой ZN, а не созданием чего-то с нуля.

понимаю, но мне хочется это сделать на golang, у питона довольно много недостатков
хотя и не скажу что у golang их нету)
но для работы с сетью довольно часто выбирают golang

justmanon Jul 07, 2019 ^1 ^2
Ответить

geekless: Был у меня период, когда хотелось взять и запилить p2p сеть самому. :)
Насчёт архивов со старым контентом на форумах я уже как-то предлагал идею, что пользователю дается, скажем, 200 КБ под самые свежие записи в data.json, а всё остальное хранится в опциональных файлах, разбитых по диапазонам дат.

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

так же мне не нравится подход с использованием sqllite
я канешно не знаю будет ли другой подход работать быстрее, но как по мне он делает слишком много IO операций что убивает производительность

geeklesson Jul 07, 2019 ^1 ^2
Ответить

justman: [...]

Был у меня период, когда хотелось взять и запилить p2p сеть самому. :)

На мой взгляд, вся эта критика и размышления "как лучше" имеют тот фундаментальный недостаток, что те же вопросы можно намного проще решить доработкой ZN, а не созданием чего-то с нуля.

  1. Пользовательские сертификаты - отдельная подсистема, которую можно переделать.
  2. Хранение данных - решается на уровне движка сайта, а движок можно написать лучше, чем существующие сейчас.

И т.п.

Насчёт архивов со старым контентом на форумах я уже как-то предлагал идею, что пользователю дается, скажем, 200 КБ под самые свежие записи в data.json, а всё остальное хранится в опциональных файлах, разбитых по диапазонам дат.

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

geeklesson Jul 07, 2019 ^1 ^2
Ответить

justman: я в 0net заходжу иногда с 2х разных ПК, на одном настроил работу с 0net для работы с тор, на другом тор вообще не стоити тот другой не может подключится к тор, так что сомневаюсь

В составе дистрибутива ZN есть же тор. Я гоняю ZN в докер-контейнере, пока не сталкивался с тем, что тор не работает. Даже из поселка через yota, едва-едва добивая до вышки. В таких условиях ZN работает даже лучше, чем обычный веб.

justmanon Jul 07, 2019 ^1 ^2
Ответить

fant: Как в ZN и сделано.

я в 0net заходжу иногда с 2х разных ПК, на одном настроил работу с 0net для работы с тор, на другом тор вообще не стоит
и тот другой не может подключится к тор, так что сомневаюсь

justmanon Jul 07, 2019 ^1 ^2
Ответить

geekless: Лол. Кто-нибудь из отметившихся собирается писать код?

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

думаю чтобы у каждого сайта была своя база пользователей привязана к публичному ключу пользователя
тогда можно будет удалять пользователей с базы которые не будут активны на протяжении какого то периода, 1 год (к примеру)

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

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

пока все существует только на бумаге)
только думаю что и как сделать, буду благодарен любым замечаниям и пожеланиям

но нету смысла в первую версию очень много фич впихать, только самое востребованное

предложения "на далекое будущее" тоже активно принимаются

fanton Jul 07, 2019 ^1 ^2
Ответить

Я не сварщик )

geeklesson Jul 07, 2019 ^1 ^2
Ответить

Лол. Кто-нибудь из отметившихся собирается писать код?

fanton Jul 07, 2019 ^1 ^2
Ответить

justman: ну, Тор можно скомпилировать через биндинги) если уже на то пошлотак что он (если будет нужно) может быть прямо внутри приложения

Как в ZN и сделано.

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0: Получать уведомления, пользоваться поиском, создавать группы и каналы.
Только все это - вторично по сравнению с известностью и удобствои использования. Путь будут "мегафитчи" - они окажутся никому не нужными, если ради их использования приедтся ставить клиента Tor, или i2p роутер.

ну, Тор можно скомпилировать через биндинги) если уже на то пошло
так что он (если будет нужно) может быть прямо внутри приложения

if0on Jul 07, 2019 ^1 ^2
Ответить

justman: В-третьих - предоставлять полный набор фитчей, ставших стандартными для современных форумов, соц сетей и чатов.
Огласите полный список пожалуйста:)если форум:-создавать темы-комментировать-отвечать на комментарии (треды?)
если соц сеть:-фоловить пользователей-писать посты-лайкать-коментировать
ко всему:

прикреплять файлы

что забыл?

Получать уведомления, пользоваться поиском, создавать группы и каналы.

Только все это - вторично по сравнению с известностью и удобствои использования. Путь будут "мегафитчи" - они окажутся никому не нужными, если ради их использования приедтся ставить клиента Tor, или i2p роутер.

if0on Jul 07, 2019 ^1 ^2
Ответить

justman: ну тогда им и нету смысла p2p приложение юзать получается, фейсбук будет в любом случае лучшекакие то таргетинговые штучки будет довольно сложно делать

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

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0: >

В-третьих - предоставлять полный набор фитчей, ставших стандартными для современных форумов, соц сетей и чатов.

Огласите полный список пожалуйста:)
если форум:
-создавать темы
-комментировать
-отвечать на комментарии (треды?)

если соц сеть:
-фоловить пользователей
-писать посты
-лайкать
-коментировать

ко всему:

  • прикреплять файлы

что забыл?

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0:
Все остальное: "отсутствие цензуры, безопасность, анонимность" для массового пользователя вторично, или вовсе безразлично, по отношению к легкости использования.

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

justmanon Jul 07, 2019 ^1 ^2
Ответить

if0: В первую очередь - массово хайпиться: иметь широкую извесность и всегда находится в центре внимания.
Во-вторых: быть легко используемой - просто "открываемой в баузере", или через простое мобильное приложение, без всяких "программ/плагинов, комплексов и прочих систем" - понятий чуждых для людей, которые хотять не "настраивать и разбираться, как что-то там работает", а "поставить и пользоваться".
В-третьих - предоставлять полный набор фитчей, ставших стандартными для современных форумов, соц сетей и чатов.
В-четвертых - не жрать ресурсы: трафик, место под данные - важно для мобильных пользователей.
Все остальное: "отсутствие цензуры, безопасность, анонимность" для массового пользователя вторично, или вовсе безразлично, по отношению к легкости использования.

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

хмм, рекламу чтоли показывать:)

if0on Jul 07, 2019 ^1 ^2
Ответить

чтобы быть популярным и востребованым?

В первую очередь - массово хайпиться: иметь широкую извесность и всегда находится в центре внимания.

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

В-третьих - предоставлять полный набор фитчей, ставших стандартными для современных форумов, соц сетей и чатов.

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

Все остальное: "отсутствие цензуры, безопасность, анонимность" для массового пользователя вторично, или вовсе безразлично, по отношению к легкости использования.

This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More