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

OSCHINA-MIRROR/mqtt-rs-rmqtt

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

NATS Bridging — Egress Mode

NATS-бридж — это метод подключения к другим NATS-сервисам. В режиме egress локальный RMQTT пересылает сообщения из текущего кластера на подключённый удалённый NATS-сервер.

Плагин:

rmqtt-bridge-egress-nats

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

plugins/rmqtt-bridge-egress-nats.toml

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

[[bridges]]
name = "bridge_nats_1"
конфигурация соединения
[[bridges.entries]]
конфигурация фильтра тем
[[bridges.entries]]
конфигурация фильтра тем

[[bridges]]
name = "bridge_nats_2"
конфигурация соединения
[[bridges.entries]]
конфигурация фильтра тем
[[bridges.entries]]
конфигурация фильтра тем

Структура файла конфигурации позволяет настроить несколько мостов, каждый из которых может подключаться к отдельному удалённому NATS-серверу. Кроме того, для каждого соединения моста можно указать несколько наборов фильтров тем.

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

##--------------------------------------------------------------------
## rmqtt-bridge-egress-nats
##--------------------------------------------------------------------

# Подробнее о ключах и их определениях см. на странице https://github.com/rmqtt/rmqtt/blob/master/docs/en_US/bridge-egress-nats.md

[[bridges]]
# Включить ли
enable = true
# Имя моста
name = "bridge_nats_1"
# Адрес NATS-брокера, к которому клиент будет подключаться через простой TCP.
# В данном случае он подключается к локальному брокеру через порт 4222.
servers = "nats://127.0.0.1:4222"
# servers = "tls://127.0.0.1:4433"

# Префикс имени производителя
producer_name_prefix = "producer_1"

## См. https://github.com/nats-io/nats.rs/blob/main/async-nats/src/options.rs
# no_echo = true
# ping_interval = "60s"
# connection_timeout = "10s"
# tls_required = true
# tls_first = true
# root_certificates = ""
# client_cert = ""
# client_key = ""
# sender_capacity = 256
# auth.jwt = ""
# auth.jwt_seed = ""
# auth.nkey = ""
# auth.username = ""
# auth.password = ""
# auth.token = ""

[[bridges.entries]]
# Локальный фильтр тем: все сообщения, соответствующие этому фильтру тем, будут пересланы.
local.topic_filter = "local/topic1/egress/#"

remote.topic = "test1"
# Переслать всё из данных, включая: from_type, from_node, from_ipaddress, from_clientid, from_username
# remote.forward_all_from = true
# Переслать все данные публикации, включая: dup, retain, qos, packet_id, topic (обязательно для пересылки), payload (обязательно для пересылки)
# remote.forward_all_publish = true

[[bridges.entries]]
# Локальный фильтр тем: все сообщения, соответствующие этому фильтру тем, будут пересланы.
local.topic_filter = "local/topic2/egress/#"

remote.topic = "test2"

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

##--------------------------------------------------------------------
## Plugins
##--------------------------------------------------------------------
# Каталог файлов конфигурации плагинов
plugins.dir = "rmqtt-plugins/"
# Плагины, запускаемые по умолчанию при запуске сервера mqtt
plugins.default_startups = [
    #"rmqtt-plugin-template",
    #"rmqtt-retainer",
    #"rmqтт-auth-http",
    #"rmqtt-cluster-broadcast",
    #"rmqtt-cluster-raft",
    #"rmqtt-sys-topic",
    #"rmqtt-message-storage",
    #"rmqtt-session-storage",
    #"rmqtt-bridge-ingress-mqtt",
    #"rmqtt-bridge-egress-mqtt",
    #"rmqtt-bridge-ingress-kafka",
    #"rmqtt-bridge-egress-kafka",
    "rmqtt-bridge-egress-nats",
    "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