NATS Streaming Buffered Client
This is a client for the NATS streaming server built for clients that may have an intermittent connection to the server.
The need for this client arose for IoT devices with 4G connections and to ensure no messages are lost on server upgrades, reboots or mishaps.
Usage
npm install node-nats-streaming-buffered-client
Features
- Reconnect logic
- Ring buffer to store messages to publish
- Retry to publish messages
Importing library
You can import the generated bundle to use the whole library generated by this starter:
import { NatsBufferedClient } from 'node-nats-streaming-buffered-client'
const bufferSize = 2000;
const reconnectTimeout = 30000;
const waitForInitialConnect = false;
const logger = console;
const client = new NatsBufferedClient( bufferSize, reconnectTimeout, waitForInitialConnect, logger );
const natsOptions = { ... };
client.connect( 'test-cluster', 'test', natsOptions );
client.publish( 'my-channel', { content: 'stuff' } );
const subsription = client.stan.subscribe( 'topic', ... );
NPM scripts
npm run test
: Run test suitenpm run build
: Generate bundles and typings, create docs