Я хочу реализовать приложение для чата в реальном времени. Используемые для этого технологии, база данных и ОС:
- Node.JS
- Ejabberd как сервер XMPP
- База данных MySQL
- React-Native (внешний интерфейс)
- ОС - Убунту 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)
Неполезные ссылки -