11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола является реализация серверов сообщений (например, сервер Synapse, клиент Riot) и «соединение» других протоколов друг с другом посредством мостов (например, реализация на libpurple с поддержкой XMPP, Telegram, Discord и IRC).



Основным новшеством (и обязательным условием использования) сервера Synapse 1.0 — реализации протокола Matrix 1.0 — является использование TLS сертификата (бесплатный Let's Encrypt тоже подходит) для домена сервера, что обеспечивает защищенную передачу данных между серверами, участвующими в федеративной сети. Поэтому если вы используете self-signed сертификат для своего домашнего сервера — необходимо создать валидный сертификат — иначе ваш сервер перестанет взаимодействовать с другими серверами сети.

Планы о релизе протокола Matrix 1.0 были объявлены в Брюсселе в феврале 2019 года на крупнейшей Open Source конференции FOSDAM 2019 в рамках работы по внедрению технологий Matrix.org Foundation для обеспечения коммуникационной инфраструктуры правительства Франции.

Интересно, что два месяца назад сервер matrix.org был подвержен хакерской атаке, в результате чего пришлось пересоздать базу данных сервера matrix.org (с потерей хранимой на серверах истории зашифрованных чатов) — а также перевыпустить приложение Riot для Android — в связи с утечкой ключей и паролей. Хакеры оставили рекомендации по улучшению бизнес-процессов и безопасности работы серверов (связанные с уязвимостями в Jenkins — платформе автоматизации разработки и тестирования программного обеспечения). «Домашние» серверы Matrix не пострадали, за исключением временной недоступности «стикеров» для сообщений пользователей и других второстепенных сервисов.

Наиболее популярный клиент Riot.im (текущая версия 1.2.1) — доступный как в десктопной реализации, так и на большинстве мобильных платформ — по удобству и надежности приблизился к аналогичным клиентам для Slack и Telegram.



Как я уже писал, серверы Synapse являются достаточно нетребовательными к «железу» — для «домашнего» сервера можно использовать ARM микрокомпьютеры ODROID-XU4 за $49, а в связи с появлением в конце прошлого года в Amazon Cloud виртуальных машин на процессорах ARM Graviton, можно недорого настроить резервирование «домашнего мини-датацентра» в облаке Amazon.

Новости и дополнительная информация — matrix.org

Комментарии (11)


  1. UbuRus
    13.06.2019 09:42
    -1

    Статья:


    Как я уже писал, серверы Synapse являются достаточно нетребовательными к «железу»

    Гитхаб:


    Help!!! Synapse eats all my RAM!Synapse's architecture is quite RAM hungry currently — we deliberately cache a lot of recent room data and metadata in RAM in order to speed up common requests.

    Опеннет:


    Ставил я ваш synapse, все тормозит и глючит

    Так где правда?


    И очень жаль что RI на питоне :(


    1. tm3 Автор
      13.06.2019 09:52

      Это сообщение трехлетней давности — «Help!!! Synapse eats all my RAM!Synapse's architecture is quite RAM hungry currently — we deliberately cache a lot of recent room data and metadata in RAM in order to speed up common requests.»


      1. UbuRus
        13.06.2019 09:54
        -1

        Opennet:


        Откровенно убогая платформа. То, что сервер жрёт как не в себя — это еще ладно, сейчас все программисты жырно обмазываются абстракциями абстракций абстракций.

        Единственное, что работает более-менее — изолированная нода с пятью комнатами и до сотни человек. Про федерацию говорить нечего — её да-факто нет: при попытке зайти в крупную комнату на другом сервере (>1000 человек), сервер устанавливает соединение со всеми участниками, в результате при попытке зайти в такую комнату сервер наглухо вешается, а получение истории работает со скоростью 1 сообщение в минуту.


    1. dizjis
      13.06.2019 10:04
      +1

      у меня стоит на одноплатнике BananaPro. В принципе — работает нормально, лагов нет. Внутри «домашнего» сервера зареганные пользователи общаются без проблем. Но. Если только полезть своим «домашним» пользователем в комнату на другом сервере — лаги будут и чем больше в комнате людей, тем дольше. Обычно часа на два. Видимо, синапс в этот момент пытается синхронизировать профили из внешнего сервера к себе в локальную БД и начинает очень сильно насиловать систему.


    1. gotozero
      13.06.2019 16:13
      +1

      Так они сейчас переписывают ее на Go(Dendrite), но только судя по всему не хватает контрибьюторов или ждут стабилизации.
      Но я так понимаю, скоро Гошный вариант станет RI. И вот тогда заживем!


  1. tm3 Автор
    13.06.2019 10:06

    Подключен к комнатам по 3-5 тыс. участников — задержек нет. У меня база данных (Postgres) — вынесена на отдельный сервер — может поэтому я не испытывал проблем. В конфигурации по умолчанию, наверное, будет работать плохо.


    1. worldmind
      13.06.2019 11:40

      Может напишете статью по конфигурации?
      Вижу, как-то пропустил, хотя похоже там нет деталей по настройке самого сервера.


  1. pavel_smolnikov
    13.06.2019 13:02

    image


    1. Revertis
      13.06.2019 16:13

      Это он зашел в комнату с тысячей участников и ждёт прогрузки, или о чём это вы?


      1. tm3 Автор
        13.06.2019 16:24

        Это децентрализация наступает (сериал Силиконовая долина)!!! А если еще и IPFS пойдет в массы…


  1. andreymal
    14.06.2019 00:53
    -1

    Протокол поверх HTTP, поддержку нормальных сокетов (хотя бы вебсокетов) до сих пор не завезли, Riot — тормознутая электронщина. Попытался зайти в комнату Matrix HQ — получил Loading аж на целых полминуты. Год с чем-то назад на сервере matrix.org отключали отображение онлайн-статусов из-за тормозов, сейчас я вообще онлайны в Riot найти не могу — расстроились и вместо починки окончательно выпилили, что ли? Короче, категорически не готово, так и остаётся мне сидеть на XMPP