2015-01-07 4 views
0

Какие возможности HiveMQ предоставляют для функций сохранения? Есть ли файл по умолчанию? Можем ли мы изменить его на базу данных, если хотим?Как работает HiveMQ Persistence?

Я попытался найти что-то в сети, но все, что я мог придумать, это MQTT-SQL-Database Plugin, который использует MySQL db для хранения сообщений, когда они приходят. Я хочу сохранить все, как пользовательские подписки, данные статистики и любые другие данные в базе данных. В настоящее время, если я перезапущу брокера, все данные будут потеряны.

ответ

1

Отказ от ответственности: Я работаю в компании за HiveMQ

HiveMQ 1.x и 2.x использовать сохранение на основе файла по умолчанию (файлы находятся в папкеданных). Это очень хорошо подходит для большинства случаев использования. Вы можете изменить постоянство, например. база данных с файлом infinispan.xml, это не рекомендуется, хотя. Данные действительно предназначены для внутренних компонентов HiveMQ и не должны быть изменены извне.

Также обратите внимание, что статистические данные являются эфемерными и не будут сохраняться, поэтому это не приведет к перезапуску. Подписки подписчиков сохраняются, если клиенты связаны с постоянным сеансом.

Я считаю, что лучший способ обратиться к вашему прецеденту (сохраняйте все данные, такие как статистика, подписки, ...) использует мощный HiveMQ plugin system. Вы можете использовать Services для получения данных о подписках, клиентах, сохраненных сообщениях ... в любое время. Другой подход заключается в использовании the Callbacks provided by HiveMQ. Вы можете перехватывать практически все аспекты брокера (например, когда статистика обновляется, кто-то подписывается, клиенты отключены, ....).

Если вам удобнее копаться в коде напрямую, ознакомьтесь с этим примером hello-world project on Github, который использует довольно много обратных вызовов и услуг. Это очень легко начать. Если вы хотите посмотреть, как интегрировать пулы подключений к базе данных, проверьте this example project.

Лучший способ задать вопросы, связанные с HiveMQ, - использовать HiveMQ support forum, поэтому ознакомьтесь с этим, если у вас есть более подробные вопросы.

Смежные вопросы