Предложение или помощь, необходимая для реализации архитектуры ejabberd без сохранения состояния
Я хочу реализовать приложение чата в реальном времени. Технологии, базы данных и ОС, используемые для этой цели:
- Node.js
- Ejabberd в качестве сервера XMPP
- База данных MySQL
- React-Native (Front-End)
- ОС - Ubuntu 18.04
До сих пор я достиг настройки ejabberd и регистрации пользователя и получения статуса как из API, так и из командной строки. Например, я могу зарегистрировать пользователя с любого другого устройства / системы, а также из командной строки. Но проблема в том, что все данные хранятся в базе данных ejabberd на сервере Ubuntu, из-за чего есть вероятность дублирования данных, также у меня уже есть структурированная и определенная база данных, и в ней уже есть данные.
В руководствах по ejabberd есть часть, в которой они упоминают архитектуру без сохранения состояния, где сервер ejabberd управляет частью XMPP с нашей базой данных (я не очень разбирался в этой вещи без сохранения состояния). Поэтому мне нужна помощь, пример или учебники, где есть больше понимания об архитектуре без сохранения состояния.
Уже прошли через нижеуказанные ссылки -
- https://blog.process-one.net/wp-content/uploads/2016/09/designing-a-modern-XMPP-service-with-ejabberd.pdf
- https://www.youtube.com/watch?v=-dqQfCpw98E&feature=youtu.be&t=1m33s (учебное пособие, в котором упоминается безгражданство)
- https://www.slideshare.net/mremond/xmpp-academy-2
- https://docs.ejabberd.im/tutorials/ (Официальные учебные пособия по ejabberd)
Бесполезные ссылки -
1 ответ
Чтобы настроить ejabberd без сохранения состояния, вам необходимо настроить модуль хранения для хранения данных с помощью ReST API. Ejabberd без сохранения состояния был разработан для службы fluux.io, но вы также можете реализовать ее самостоятельно, используя материалы или API ejabberd. Например, для пользователя, вы можете положиться на ejabberd_auth_http
: https://github.com/processone/ejabberd-contrib/tree/master/ejabberd_auth_http