Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/paambaati/node-liftbridge

🌉 Node.js client for Liftbridge
https://github.com/paambaati/node-liftbridge

grpc grpc-node liftbridge messaging nats nodejs stream

Last synced: 20 days ago
JSON representation

🌉 Node.js client for Liftbridge

Awesome Lists containing this project

README

        

# node-liftbridge

![](liftbridge.svg)



Node.js client for [Liftbridge](https://github.com/liftbridge-io/liftbridge).

> Liftbridge provides lightweight, fault-tolerant message streams by implementing a durable stream augmentation for the [NATS messaging system](https://nats.io/). 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?](https://github.com/paambaati/node-liftbridge) 🚧

## Installation

```bash
yarn add liftbridge
# or
npm install liftbridge
```

## Usage

```typescript
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](https://paambaati.github.io/node-liftbridge/globals.html) for more detailed examples.

## Developer Notes

1. To regenerate the gRPC bindings, update the path to the [latest proto file](https://github.com/liftbridge-io/liftbridge-grpc/blob/master/api.proto) and then run `./scripts/generate_grpc_code.sh`

## Roadmap

- [ ] Tests & coverage
- [ ] CI
- [ ] Contribution guide
- [ ] gRPC Connection pool
- [ ] Logging