Skip to main content

08 NATS коммуникация

Установка

Прежде чем настраивать свои приложения надо установить сервер NATS. Инструкция оф. сайта NATS Затем установить npm пакет

npm install ./corelibs/nats

Настройка

import {NatsConnection,NatsPublisher,NatsSubscriber} from '@morphcluster/nats'
...
//NatsConnection организует соединение приложения с Nats
host.addService(new NatsConnection( host, {
  //Адрес NATS сервера
  "server":"localhost:4222",
  //Название очереди nats
  "queue":"basehost",
  //Таймаут отправки nats request
  "timeout":60000
} ))
//NatsPublisher рассылает по NATS шине схемы всех запущеных сервисов
host.addService(new NatsPublisher(host),{
  //Интервал перед повторной рассылки
  "interval": 60000
})
//NatsSubscriber получает по NATS шине схемы сервисов с других хостов
host.addService(new NatsSubscriber(host))

Удаленный сервис

Чтобы можно было использовать сервис другого хоста, как будто он локальный, используются виртуальные сервисы (наследуются от ServiceNats). Они создаются при запуске NatsSubscriber: если такого сервиса нет на этом хосте, он будет автоматически создан. Также можно создать определенные удаленные сервисы вручную.