Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
linux:nats [2022/10/13 09:43] admin |
linux:nats [2024/07/09 09:45] (текущий) admin |
||
---|---|---|---|
Строка 9: | Строка 9: | ||
Все сообщения в кластере **доставляются напрямую** от отправителя получателю, | Все сообщения в кластере **доставляются напрямую** от отправителя получателю, | ||
Клиенты знают **всю топологию кластера**, | Клиенты знают **всю топологию кластера**, | ||
+ | Работает на порту " | ||
**NATS & NATS Streaming**\\ | **NATS & NATS Streaming**\\ | ||
- | NATS реализует **базовую модель** " | + | NATS реализует **базовую модель** " |
+ | **NATS Streaming** устаревшее, работало через другой exe, актуальная | ||
**Авторизация** поддерживается как по логину/ | **Авторизация** поддерживается как по логину/ | ||
Строка 32: | Строка 34: | ||
</ | </ | ||
- | При активном соединении работает " | ||
- | Размер сообщения ограничен **1M**\\ | ||
**Мониторинг** | **Мониторинг** | ||
Для мониторинга предусмотрен аргумент запуска **"-m your_port" | Для мониторинга предусмотрен аргумент запуска **"-m your_port" | ||
+ | При активном соединении работает " | ||
+ | |||
+ | |||
===== Конфигурация ===== | ===== Конфигурация ===== | ||
- | Работает на порту "**4222**"\\ | + | Указываются порты для хоста и для кластера отдельно и оба работают, |
+ | |||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | debug: | ||
+ | trace: | ||
+ | log_file: | ||
+ | http_port: 8222 # HTTP monitoring port | ||
+ | port: 4222 | ||
+ | |||
+ | tls { | ||
+ | cert_file: | ||
+ | key_file: " | ||
+ | ca_file: " | ||
+ | } | ||
+ | |||
+ | cluster { | ||
+ | listen: 0.0.0.0: | ||
+ | routes = [ | ||
+ | nats-route:// | ||
+ | nats-route:// | ||
+ | ] | ||
+ | tls { | ||
+ | cert_file: " | ||
+ | key_file: | ||
+ | ca_file: | ||
+ | } | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | </ | ||
**Базовый функционал**\\ | **Базовый функционал**\\ | ||
Строка 92: | Строка 127: | ||
< | < | ||
- | < | + | < |
- | {{: | + | |
+ | Тот же конфиг, | ||
<code bash> | <code bash> | ||
- | # NATS Streaming specific configuration | + | (...) |
- | streaming | + | jetstream |
- | | + | |
- | store: file | + | |
- | dir: store | + | |
- | nats_server_url: | + | |
- | # Необходимо только указать имя кластера и имя узла для достижения пользовательского обнаружения | + | |
- | cluster { | + | |
- | node_id: | + | |
- | peers: ["stan-2", | + | |
- | } | + | |
} | } | ||
+ | (...) | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | ===== Установка ===== | ||
+ | ==== Windows ==== | ||
+ | Все предельно просто, | ||
+ | В последнем случае [[https:// | ||
+ | Используя флаги можно запускать на одном хосте несколько экземпляров, | ||
+ | |||
+ | <code bash> | ||
+ | sc.exe create nats-server binPath=" | ||
+ | sc.exe start nats-server | ||
+ | |||
+ | # REM Reload server configuration (сигналы под вопросом) | ||
+ | nats-server.exe --signal reload | ||
+ | |||
+ | # REM Stop the server | ||
+ | nats-server.exe --signal stop [=< | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | <code bash> | ||
+ | nats cheat | ||
+ | |||
+ | |||
+ | ############################################# | ||
+ | Сохранение параметров в контекст | ||
+ | ############################################# | ||
+ | nats context save sys --user sys --password pass | ||
+ | nats context select < | ||
+ | |||
+ | nats --tlsca=./ | ||
+ | |||
+ | nats --tlsca=./ | ||
+ | |||
+ | |||
+ | ############################################# | ||
+ | Системная учетка | ||
+ | ############################################# | ||
+ | добавить в конфиг | ||
+ | accounts: { | ||
+ | $SYS: { | ||
+ | users: [{user: sys, password: pass}] | ||
+ | } | ||
+ | } | ||
+ | |||
+ | затем в cli: | ||
+ | |||
+ | nats --context sys --user sys --password pass server list | ||
+ | |||
+ | |||
+ | ################################# | ||
+ | Удаление хоста из метаданных | ||
+ | ################################# | ||
+ | |||
+ | nats server cluster peer-remove RztkeQup | ||
+ | |||
+ | ******************************************************************* | ||
+ | |||
+ | Названия стримов | ||
+ | brain.activity.protobuf (альтернатива Ice_AccountsActivity, | ||
+ | brain.control.protobuf (альтернатива Ice_MesControl2ServerApp, | ||
+ | |||
+ | nats --tlsca=./ | ||
+ | |||
+ | |||
+ | nats --tlsca=./ | ||
+ | nats --tlsca=./ | ||
+ | |||
+ | nats --tlsca=./ | ||
+ | |||
+ | nats --tlsca=./ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | nats --context sys stream ls | ||
+ | |||
+ | nats-cli.exe --tlsca=./ | ||
+ | |||
+ | nats-cli.exe --tlsca=./ | ||
+ | </ | ||
+ | |||
+ | </ | ||
Строка 132: | Строка 247: | ||
< | < | ||
< | < | ||
- | <code bash> | ||
- | </ | ||
</ | </ |