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 )