1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mqtt-rs-rmqtt

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
store-session.md 3.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 14:56 2a97644

Хранение информации о сессии

Будут храниться информация о соединении, данные о подписках, офлайн-сообщения и сообщения в процессе передачи.

При успешном соединении будет сохраняться «Информация о соединении». После каждой успешной подписки будут сохраняться «Данные о подписках». В течение сеанса будет периодически обновляться время последней операции. В случае разрыва соединения будут сохраняться сообщения в процессе передачи. В период отключения до истечения срока действия будут сохраняться офлайн-сообщения.

После перезапуска узла службы RMQTT будет загружена базовая информация о сеансе и данные о подписках с неистёкшим сроком действия, а также отправлены офлайн-сообщения и сообщения в процессе передачи с неистёкшим сроком действия. Если срок действия сеанса уже истёк, вся информация будет удалена.

Плагины:

rmqtt-session-storage

Файл конфигурации плагина:

plugins/rmqtt-session-storage.toml

Параметры конфигурации плагина:

##--------------------------------------------------------------------
## rmqtt-session-storage
##--------------------------------------------------------------------

##sled, redis
storage.type = "sled"

##sled
storage.sled.path = "/var/log/rmqtt/.cache/session/{node}"
storage.sled.cache_capacity = "3G"

##redis
storage.redis.url = "redis://127.0.0.1:6379/"
storage.redis.prefix = "session-{node}"

В настоящее время поддерживаются два механизма хранения данных: «sled» и «redis». «sled» хранит данные локально и требует настройки местоположения хранилища и объёма кэша в памяти. Подходящий размер может повысить эффективность чтения/записи. «redis» в настоящее время поддерживает только конфигурацию с одним узлом. Конфигурация префикса облегчает использование одного и того же набора служб Redis разными узлами RMQTT. {node} будет заменён текущим идентификатором узла.

По умолчанию этот плагин не включён. Чтобы активировать его, необходимо добавить запись rmqtt-session-storage в раздел plugins.default_startups конфигурации в основном файле конфигурации rmqtt.toml, как показано ниже:

##--------------------------------------------------------------------
## Plugins
##--------------------------------------------------------------------
#Каталог файла конфигурации плагина
plugins.dir = "rmqtt-plugins/"
#Плагин запускается по умолчанию при запуске сервера mqtt
plugins.default_startups = [
    #"rmqtt-retainer",
    #"rmqtt-auth-http",
    #"rmqtt-cluster-broadcast",
    #"rmqtt-cluster-raft",
    #"rmqtt-sys-topic",
    #"rmqtt-message-storage",
    "rmqtt-session-storage",
    "rmqtt-web-hook",
    "rmqtt-http-api"
]

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mqtt-rs-rmqtt.git
git@api.gitlife.ru:oschina-mirror/mqtt-rs-rmqtt.git
oschina-mirror
mqtt-rs-rmqtt
mqtt-rs-rmqtt
master