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

OSCHINA-MIRROR/mqtt-rs-rmqtt

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

Подключение к другим сервисам Apache Pulsar: режим выхода Apache Pulsar Data Bridging — это метод подключения к другим сервисам Apache Pulsar. В режиме выхода локальный RMQTT пересылает сообщения из текущего кластера на подключённый удалённый сервер Apache Pulsar.

Плагин:

rmqtt-bridge-egress-pulsar

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

plugins/rmqtt-bridge-egress-pulsar.toml

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

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

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

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

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


[[bridges]]
# Включить ли
enable = true
# Имя моста
name = "bridge_pulsar_1"

servers = "pulsar://127.0.0.1:6650"
#servers = "pulsar+ssl://127.0.0.1:6651"

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

# Добавить собственный сертификат из файла для аутентификации сервера в TLS-соединениях
#cert_chain_file = "./rmqtt-bin/rmqtt.fullchain.pem"
#allow insecure TLS connection if set to true, defaults to false
#allow_insecure_connection = false
#whether hostname verification is enabled when insecure TLS connection is allowed, defaults to true
#tls_hostname_verification_enabled = true

#token(JWT, Biscuit)/ или oauth2
#auth.name = "token"
#auth.data = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyX2lkIiwiZXhwIjoxNjI2NzY5MjAwLCJpYXQiOjE2MjY3NjU2MDB9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
#auth.name = "oauth2"
#auth.data = "{\"issuer_url\":\"https://example.com/oauth2/issuer\", \"credentials_url\":\"file:///path/to/credentials/file.json\"}"

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

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

#определяет целевую секцию сообщения. Сообщения с одинаковым partition_key будут отправлены в одну и ту же секцию.
remote.partition_key = ""
#это влияет на порядок сообщений в определённой секции, а не между секциями. Если сообщения имеют одинаковый ordering_key, они будут использованы в порядке их отправки.
remote.ordering_key = ""
#Переопределить репликацию пространства имён
remote.replicate_to = []
#текущая версия схемы
remote.schema_version = ""

#пользовательские свойства, добавленные ко всем сообщениям
remote.options.metadata = {}
#алгоритм, используемый для сжатия сообщений, значение: lz4, zlib, zstd, snappy
remote.options.compression = "lz4"
#режим доступа производителя: общий = 0, эксклюзивный = 1, ожидание эксклюзивного =2, эксклюзивный без ограждения =3
remote.options.access_mode = 0

[[bridges.entries]]
local.topic_filter = "local/topic2/egress/#"

remote.topic = "non-persistent://public/default/test2"

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

##--------------------------------------------------------------------
## Plugins
##--------------------------------------------------------------------
#Файл конфигурации подключаемого модуля
plugins.dir = "rmqtt-plugins/"
#Подключаемый модуль запускается по умолчанию при запуске сервера mqtt
plugins.default_startups = [
    #"rmqtt-plugin-template",
    #"rmqtt-retainer",

Опубликовать ( 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