Как стать автором
Обновить

Комментарии 37

Перспективный open-source мессенджер работал бы не поверх HTTP.

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

Например, благодаря HTTP можно делать скрипты и дебажить всё curl-командами, что лично для меня очень удобно — прям на bash можно автоматизировать какие-то действия без особых сложностей.

Поэтому использование протокола HTTP и приложения на Electron (HTML, CSS, JS) — несёт за собой не только минусы, но и большие плюсы в поддержке кода сообществом, что в сумме дает больше плюс, чем минус.

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

HTTP Host, cache-control, chunked transfer encoding, range, accept, x-www-form-urlencoded, multipart/form-data, ещё с десяток-другой фич наверно откопать в HTTP/1.1 (про 2.0 вообще молчу) — это всё знает каждый школьник и для чего-то используется в Matrix?


Недостающие инструменты для дебага всегда можно написать и выдать школьникам.

Самый лучший и понятный школьникам инструмент для дебага — это браузер с дебаг-консолью, и приложение, написанное на html+css+js, которое тоже поковырять можно прямо в браузере, не перекомпилируя ядро линукса после каждого изменения ;)

Вы собираете в своих комментариях всё, что я ненавижу и стремлюсь уничтожить :) Впрочем, не хочу сейчас устраивать холивар по этой теме


Как я отметил ниже, это ещё не значит, что весь протокол надо базировать на HTTP, можно просто сделать HTTP-гейт специально для школьников) Протокол, работающий поверх просто TCP (или даже вебсокетов, благо он мало связан с HTTP) в общем случае будет проще (не надо весь HTTP/1.1 реализовывать), быстрее (не нужны уродства из начала нулевых вроде long polling, как у Matrix сейчас) и экономнее (бо́льшая часть HTTP-заголовков, захламляющих трафик, для задач мессенджера всё равно нафиг не нужна) — вот запилили бы на базе такого Desktop-клиент на Qt5/QML и нормальный Android-клиент, и было бы счастье, а HTTP пусть остаётся уделом школьников


Вообще в Matrix вроде бы обещали вебсокеты, но что-то их сейчас ещё не видно. А использовать мессенджер, под капотом которого б-гомерзкий long polling, мне противно, приходится сидеть в Telegram

НЛО прилетело и опубликовало эту надпись здесь

Трабл в том, как поднять на питоне кучу сокитоф.
Выбор языка для homeserver меня удивил конечно.
Брали бы уже тогда asyncio (aiohttp) + 3.5 (а сейчас перешли бы на 3.6).


Теперь новый homeserver будут делать на Go.
Что еще хуже по моему мнению.


Хотя я третий день решаюсь, включить мне матрикс в новый большой проект или нет.
Отсутствием сокетов вы меня добили только что.
Я до этого не успел добраться.

Вёбсокеты вроде бы вот прям на днях прикрутили в Synapse — вот пул-рекьюест: https://github.com/matrix-org/synapse/pull/2388

Но ещё не приняли и когда поддержки в клиентах ждать? Как появится, тогда Matrix можно будет посмотреть

можно просто сделать HTTP-гейт специально для школьников)
Слушай, школьник, сделай сначала что-то сопоставимое по возможностям и по популярности с Matrix-Riot, потом критикуй! Известный Сталинский принцип: критикуешь-предлагай, предлагаешь-делай, делаешь-отвечай! А трепаться языком все могут.

Тема статьи — спонсоры, а не протокол, есть предложения по теме?!

И вот надо же было ждать четыре месяца до ответа)


критикуешь-[...]делай

Я работаю над этим. Но пока что в одиночку и непублично


сопоставимое [...] по популярности

То есть с околонулевой популярностью? Ну это любой может, у меня весь гитхаб завален таким добром :D

То есть с околонулевой популярностью?
Не смешно для тех, кто хоть раз пользовался. Запусти Riot хоть раз и зайди в каталог комнат — там десятки тысяч человек. Сделаешь что-то сопоставимое — поговорим!
там десятки тысяч человек

Сколько из них были онлайн хотя бы в последние полгода?)

Сколько из них были онлайн хотя бы в последние полгода?)
Ты гонишь? Зайди и посмотри. Вот, например:
https://riot.im/app/#/room/#matrix:matrix.org
https://riot.im/app/#/room/#russian_talks:matrix.feder8.ru

Возможно, клиент Riot такой сложный, но я не вижу, где там смотреть время последней активности пользователей?


По первой ссылке я вижу онлайн 0 человек.
По второй ссылке попросили заранее войти в комнату, вошёл — онлайн 0 человек.


Даже в моём никому не нужном чат-веб-клиенте сейчас 1 человек сидит)

Сейчас ночь. Зайди в комнату и посмотри историю. Твой пустой трёп и комплекс неполноценности уже не интересны.

Сейчас ночь по Москве. Значит в Америке не пользуются Matrix'ом?)


Впрочем, взял примерно последнюю тысячу сообщений по апишке — это примерно двое суток. В сообщениях отметились 182 уникальных user_id. Мой никому не нужный чат-веб-клиент за последние два дня посетило 72 человека. Пусть в два раза меньше, однако мне кажется, числа примерно одного порядка — десятками тысяч как-то не пахнет))


По второму чату тысяча последних сообщений занимает аж две недели. При этом отметился всего 51 user_id. Тоже негусто как-то)

Мой никому не нужный чат-веб-клиент
На этом и завершим прения не по теме данной статьи!

Завершим, однако это не отменяет того факта, что Matrix примерно на столько же не нужен, насколько не нужен мой чат-веб-клиент))

Всё выпячиваешь свой комплекс неполноценности? У Matrix 1.5 млн. пользователей уже и число растёт по экспоненте:
matrix.org/blog/2017/07/07/a-call-to-arms-supporting-matrix
image
Сколько из них были онлайн хотя бы в последние полгода?)
Чукча не читатель, чукча писатель?! По ссылкам не ходим? Смотри:

image

Сервера:

image

Трафик, сервера… Я тоже могу пустить пыль в глаза, посчитав число строчек в своих access.log. Где число пользователей онлайн?

ты жалок, пока

Жалки те, кто стыдится показать число пользователей онлайн. Пока, чо :)

Я не знаю как показать что-то герою известного анекдота: «Батько, де море?!» :)))
По состоянию на 15:47:

Первая ссылка — онлайн 7, ещё 11 были онлайн в течение последнего часа

Вторая ссылка — онлайн 0, ещё 2 были онлайн в течение последнего часа

Казалось бы, в Москве давно не ночь, но десятков тысяч человек как-то так и не видно. Даже на conference.jabber.ru народу больше, хотя джаббер уверенно дохнет последние пять лет
На официальном сервере Matrix.org сейчас временно отключено presence (из-за проблем с нагрузкой на центральный сервер, т.к. спонсоры сократили финансирование), поэтому онлайн-статус сейчас не отображается для пользователей сервера.
А в остальном — активность там вполне высокая, вот тут можно увидеть некоторую статистику: matrixstats.org
Ололо, и протоколом или его реализациями, в котором какие-то там презенсы могут свалить сервер, ещё стоит пользоваться?)))
Добавьте-ка на свой любимый жаббер-сервер 2 миллиона юзеров, заставьте их ежесекундно отсылать сообщения и менять presence, посмотрим как он будет «быстро» работать.
Для того, чтобы считать это сравнение корректным, нужно каким-то образом убедиться, что у Matrix (точнее, у сервера matrix.org) есть 2 миллиона активных юзеров. На графике выше указано, что у matrix.org всего полтора миллиона юзеров, включая неактивных. Кто-то где-то врёт. Ну и в джаббере никто презенсы каждую секунду не отправляет.

Алсо, я не утверждал, что джаббер такой белый и пушистый, он тоже хрень по куче причин)
График выше — полугодовалой давности, если его аппроксимировать — то к текущему дню должно около 2 лимонов получится, соответственно и график эвентов где-то к 1.5 миллионам должен приближаться, собственно даже если взять 1 миллион эвентов в сутки и их на кол-во секунд в сутках — получаем около 11 эвентов в секунду, и всё это крутится сейчас на одном Matrix-Synapse сервере.
Я сомневаюсь что какие-то опенсоурс-альтернативы типа рокетчата или маттермоста потянут аналогичный трафик на 1 сервере, так что на безрыбье надо радоваться тому что хоть это есть у нас в замену помирающему жабберу, самозакопавшемуся в своих XEP-ах.

Ещё раз: этот график включает неактивных пользователей, как ни аппроксимируй. Где я могу увидеть график активных пользователей?


получаем около 11 эвентов в секунду

Маловато будет. На мой субъективный взгляд, полноценный сервер (не VPS) должен осиливать хотя бы сотню в секунду. Впрочем, я не в курсе, что именно считается эвентом?


Я сомневаюсь что какие-то опенсоурс-альтернативы типа рокетчата или маттермоста потянут аналогичный трафик

Им же в минус) А вообще, может быть, у jabber.ru имеется не меньшая нагрузка? Правда, их Яндекс поддерживает, они могут себе позволить


на безрыбье надо радоваться тому что хоть это есть у нас в замену помирающему жабберу

Жаббер, безусловно, помирает, но лучше него никто ничего так и не придумал

НЛО прилетело и опубликовало эту надпись здесь

TLS и так нельзя отличить один от другого, HTTP тут ни при чём. Если уж совсем приспичит (захочется юзать порт 443), никто не мешает сделать HTTP-гейт в другой протокол (такие я уже видел у XMPP), это всё ещё не значит, что надо весь протокол базировать на HTTP

Раз уж подняли тему, замерил тут лонг-поллинг в Riot...


HTTP/1.1, почти килобайт на запрос с учётом всех HTTP-заголовков, полминуты ожидания ответа, ещё почти килобайт на ответ. На ПУСТОЙ ответ: никаких событий за полминуты не произошло. Спасибо что хоть keep-alive работает.


Два запроса в минуту, 120 запросов в час, 2880 запросов в сутки.


4 мегабайта в сутки. На передачу ПУСТОТЫ лонг-поллингом. И это ещё с отключенными презенсами. И это я ещё даже не пытался замерять, сколько же весят события вроде новых сообщений. Когда я писал свой ранее упоминавшийся никому не нужен чат-веб-клиент на лонг-поллинге в 2012 году, я уже тогда считал это говнокодом. Но в те времена простительно, тогда вебсокеты только появлялись. Но не в 2017 году же!


Нет, за этим протоколом на данный момент не видно никакого будущего. Пока что здесь нечего спонсировать.


Как сам автор поста и намекает — протокол от школьников для школьников.


Питер Сент-Андре, сделай XMPP 2.0!

Благодарю, интересная статистика, попробую передать разработчикам эту проблему. У них пока в приоритетах не стояла оптимизация трафикопотребления, пользователям там на трафик пока пофиг — они требуют всякие новомодные фишки типа стикерпаков и лайков. Было бы интересно сравнить трафик с другими популярными протоколами, хотя бы с XMPP.

По поводу будущего — а за каким текущим опенсоурс-протоколом Вы видите будущее? Ждать пока XMPP выкопается из кучи XEP-ов и возродится в версии 2.0 я что-то уже устал, а других альтернатив с поддержкой федерации я вообще не вижу.

Спонсировать всякие вайбер, воцап, елеграм, пейсбук и подобные коммерческие вещи как-то душа не лежит, а из опенсоурса кроме Matrix — больше ничего не нашёл.

Поэтому я для себя решил — лучше уж спонсировать и продвигать [matrix] как перспективный проект, чем ничего не делая ждать пока что-то само по себе появится.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории