Pull to refresh

Comments 13

С Metronome IM и Prosody IM не знаком, сами в продакшене используем ejabberd, по сему пара вопросов:
1) Есть ли кластеризация?
2) Я вижу, что у prosody можно использовать internal и MySQL бекенд. А можно ли NoSQL базу прикрутить? Для ежа мы используем riak, например.
1) Кластеризации нет, планируется только в 1.0 релизе
2) Готового модуля для NoSQL не нашел, хотя странно, т.к. все данные хранятся очень плоско, чуть ли не в одной табличке.
Если использовать NoSQL критично, можно попробовать поправить sql-модуль.
Скажите пожалуйста, а с какого количества пользователей становится актуальна кластеризация?
Мы больше не из-за нагрузки используем кластер, а ради fault tolerance. По поводу же нагрузки ничего не могу сказать, наша игра пока только в софт-ланче, нагрузки не так велики.
Если кластер ради отказоустойчивости, можете собрать на Pacemaker.
спасибо за статью, заслуженный плюс. хотел ещё в карму, а там уже :)

как-то давно искал клиенты с XEP-0313 Message Archive Management и XEP-0280 Message Carbons, но ничего юзабельного не нашёл. хотя серверов с поддержкой этих стандартов навалом. насколько удобно реализованы эти стандарты у jappix? где-то есть список клиентов, которые поддерживают эти стандарты?
У jappix все хорошо с этим.

  • Из мобильных, наверное только Conversations имеет полную поддержку.
  • Из десктопных — Gajim.
  • Из веб-клиентов Converse.js и movim тоже умеет.
    (кстати у movim есть даже мобильный клиент, но подключается он не напрямую к jabber-серверу, а к веб-клиенту)

Остальные, лично не пробовал, но тут есть целый список: https://www.zash.se/mam.html
Kaiwa — кстати довольно внушающе выглядит, надо будет обязательно попробовать!
У них есть docker-образ с Prosody, который автоматически настраивает сервер, полностью совместимый с Kaiwa. Он так же со всеми плюшками вроде тех, что в этой статье и LDAP'ом в придачу.
А с помощью описанной связки можно реализовать полноценный многопользовательский чат с оффлайн-сообщениями? Чтобы если кто-то из участников ушел в оффлайн и через пару дней вернулся — ему свалились все пропущенные сообщения как новые сообщения.

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

ЗЫ: Различные виды чатов обычно реализуются на базе функционала jabber-конференций, но, как я понимаю, в самом протоколе не предусмотрена доставка сообщений оффлайн-юзерам и маркировка кому доставлено кому нет, поэтому как ни крути — ничего хорошего не добьешься кроме как костылей нагородить.
в самом протоколе не предусмотрена доставка сообщений оффлайн-юзерам и маркировка кому доставлено кому нет

В Jabber это работает немного подругому. У мультиюзер чатов в Jabber больше общего скорее с IRC, чем с обычным протоколом Jabber, отсюда все вытекающие. Реализация данной функции ложится целиком на клиента. Если пользователь зашел в chat room, клиент обычно подгружает n'ное кол-во последних сообщений с сервера.

Что касается Jappix, из того что я протестил, мультиюзер чаты работают довольно стабильно, можно настроить персистентные комнаты, автоподключение и хранение логов. Логи подгружаются автоматически, но до последующего рестарта сервера. После рестарта, комната меняет свой ID, и Jappix уже не подгружает логи. Но всю историю комнаты по прежнему можно получить через встроенный веб-сервер.
Да, точно, у Jabber конференции как раз по принципу IRC работает, я знал об этом но забыл написать ;) Так в Jappix получается та же проблема — мультиюзер чаты на базе Jabber-конференций сделаны или что-то другое? По-идее XEP-0194 User Chatting должен решать эту проблему, но его, судя по всему, реализовывать надо на стороне Jabber-клиента, а не на сервере: https://github.com/processone/ejabberd/issues/812
Угу, Jappix использует стандартные для Jabber мультиюзер чаты. Они полностью совместимы с любыми другими Jabber-клиентами.
Печаль… ну что ж, придется тогда продолжать использовать ботов для организации полноценного мультиюзер-чата… ;( Раньше в компании использовали для этого http://partychapp.appspot.com/ но в последнее время он жестко глючит, поэтому пришлось перейти к собственным ботам на базе https://github.com/punchagan/childrens-park
Sign up to leave a comment.

Articles