/node-liftbridge

🌉 Node.js client for Liftbridge

Primary LanguageJavaScriptMIT LicenseMIT

node-liftbridge

Node.js client for Liftbridge.

Liftbridge provides lightweight, fault-tolerant message streams by implementing a durable stream augmentation for the NATS messaging system. It extends NATS with a Kafka-like publish-subscribe log API that is highly available and horizontally scalable. Use Liftbridge as a simpler and lighter alternative to systems like Kafka and Pulsar or use it to add streaming semantics to an existing NATS deployment.

🚧 This module is still under active development! Would you like to contribute? 🚧

Installation

yarn add liftbridge
# or
npm install liftbridge

Usage

import LiftbridgeClient from 'liftbridge';

const client = new LiftbridgeClient('localhost:9292');
await client.connect();

await client.createStream(new LiftbridgeStream({
     subject: 'my-subject',
     name: 'stream-name',
     partitions: 5,
     maxReplication: true
});

📚 See Documentation for more detailed examples.

Developer Notes

  1. To regenerate the gRPC bindings, update the path to the latest proto file and then run ./scripts/generate_grpc_code.sh

Roadmap

  • Tests & coverage
  • CI
  • Contribution guide
  • gRPC Connection pool
  • Logging